入力 Textarea 値が Bean 側で設定されることはありません。JSF 1.2 と RichaFaces 3.3.3。次のコードがあります:
<h:form id="name" rendered="#{not empty controller}">
<h:panelGrid columns="1" styleClass="medium" columnClasses="subtitle,medium" style="text-align: left;" cellspacing="3px">
<f:facet name="header">
<h:outputText value="Comments"/>
</f:facet>
<h:inputTextarea value="#{controller.comments}" rows="10" cols="80"
immediate="true"></h:inputTextarea>
<div align="right">
<a4j:commandButton value="#{msg['label.save']}" action="#{controller.saveData()}" reRender="name" />
</div>
</h:panelGrid>
</h:form>
そして豆で:
public void saveData(){
//logic
}
public String getComments(){
return "comments";
}
public void setComments(String comments){
//logic
}
jsf ページは、ui:include を介して別のページに含まれ、必要な Bean をコントローラーパラメーターとして取得します。
コメントは get メソッドを介して読み取られますが、setter は呼び出されず、saveData関数も呼び出されません。同じコントローラーが別のページの他のデータに使用され、文字通り同じsaveDataメソッドがうまく機能します。Textarea の値が設定されないのはなぜですか?