0
輸入Textarea值永遠不會在bean側設置。 JSF 1.2與RichaFaces 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>
而且在豆:
public void saveData(){
//logic
}
public String getComments(){
return "comments";
}
public void setComments(String comments){
//logic
}
JSF頁面包含在通過UI另一頁:包括並得到需要bean作爲控制器參數。
評論通過get方法讀取,但是,setter從未被調用過,也不是saveData函數。相同的控制器用於其他頁面上的其他數據,並且實際上相同的方法工作得很好。我想知道爲什麼Textarea價值從未設置?
不,事實並非如此 - jboss ELs完成他們的工作。在其他部分使用完全相同的代碼(reRender組件除外),並且它可以工作。我的猜測是,它有一些其他的對象,由於某種原因沒有轉換爲字符串。正在調查...... – 2012-04-05 20:55:36
您是否試圖使用另一個託管bean進行工作? – 2012-04-06 03:07:53
事實上,它只適用於另一個班級......問題是:爲什麼? :) – 2012-04-06 08:16:05