入力テキストエリアの値は、Bean側で決して設定されません。 RichaFacesを使用したJSF 1.2 3.3.3。h:inputTextareaは豊富な面では機能しません
<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>
そして豆で:JSFページは、UIを介して他のページに含まれる
public void saveData(){
//logic
}
public String getComments(){
return "comments";
}
public void setComments(String comments){
//logic
}
:次のコードを持って含まれ、コントローラパラメータとして必要なBeanを取得します。
コメントはgetメソッドで読み取られますが、setterは呼び出されません。saveData関数も呼び出されません。同じコントローラが別のページの他のデータに使用されており、文字どおり同じsaveDataメソッドが機能します。私はTextareaの価値が決して設定されていないのだろうか?
そうではありません - jboss ELは仕事をしています。そして、reRenderコンポーネントを除いて、まったく同じコードが他の部分で使用され、動作します。私の推測では、それは何らかの理由で文字列に変換されない他のオブジェクトを持っているということです。調査中... –
別のマネージドBeanを使用して動作させようとしましたか? –
確かに、別のクラスでうまくいきます。問題は、なぜですか? :) –