【发布时间】:2012-04-05 10:40:19
【问题描述】:
永远不会在 bean 端设置输入 Textarea 值。 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>
在 bean 中:
public void saveData(){
//logic
}
public String getComments(){
return "comments";
}
public void setComments(String comments){
//logic
}
jsf页面通过ui:include包含在另一个页面中,并作为controller参数获取需要的bean。
评论是通过get方法读取的,但是setter永远不会被调用,saveData函数也不会被调用。相同的控制器用于另一个页面上的一些其他数据,并且实际上相同的 saveData 方法效果很好。我想知道为什么永远不会设置 Textarea 值?
【问题讨论】:
标签: java jsf richfaces jsf-1.2