Я хотел бы передать значение управляемому компоненту под капотом. Так что у меня есть это управляемый компонент:Автоматически устанавливать значение переменной управляемого компонента в JSF
@ManagedBean(name = "mbWorkOrderController")
@SessionScoped
public class WorkOrderController {
// more attributes...
private WorkOrder workOrderCurrent;
// more code here...
public WorkOrder getWorkOrderCurrent() {
return workOrderCurrent;
}
public void setWorkOrderCurrent(WorkOrder workOrderCurrent) {
this.workOrderCurrent = workOrderCurrent;
}
}
Он держит параметр workOrderCurrent
пользовательского типа WorkOrder
. Класс WorkOrder
имеет атрибут applicant
типа String
.
На данный момент я использую placeholder
внутри своего inputtext
, чтобы показать пользователю, что ему нужно ввести внутри inputText
.
<p:inputText id="applicant"
value="#{mbWorkOrderController.workOrderCurrent.applicant}"
required="true" maxlength="6"
placeholder="#{mbUserController.userLoggedIn.username}" />
То, что я хочу сделать, это автоматически передать значение mbUserController.userLoggedIn.username
в mbWorkOrderController.workOrderCurrent.applicant
и удалить inputText
для applicant
полностью из моей формы.
Я пытался использовать c:set
:
<c:set value="#{mbUserController.userLoggedIn.username}" target="#{mbWorkOrderController}" property="workOrderCurrent.applicant" />
Но к сожалению, я получаю javax.servlet.ServletException
с сообщением:
Класс 'WorkOrderController' не имеет свойство 'workOrderCurrent.applicant'.
У кого-нибудь есть совет?
Большое спасибо за обширное сообщение! Это решило мою проблему. – antarkt1s