我试着描述我的问题:
以下是page.xhtml
:
...
<rich:dataTable value="#{bean.myExampleList}" vat="element">
<rich:column>
<a4j:commandLink status="waitStatus" oncomplete="#{rich:component('editModalPanel')}.show();"
render="editModalPanel">
<h:graphicImage library="images" name="icons/edit.gif" style="border:0" />
<f:setPropertyActionListener value="#{element.id}"
target="#{AdminBean.currentSelected}"/>
</a4j:commandLink>
</rich:column>
</rich:dataTable>
...
以下是modal.xhtml
:
...
<h:inputText id="name" value="#{bean.name}"/>
<h:outputText value="#{bean.name}"/>
...
例如,当我点击page.xhtml
中的第一行时,我的模态面板将会打开,当我提交表单并且没有验证问题时,一切正常。但是当存在验证问题并且关闭modalPanel时,接下来单击page.xhtml
中的第二行,h:inputText
和h:outputText
中的文本是不同的。 h:outputText
中的文字等于#{bean.name}
,h:inputText
中的文字等于表格中第一行的名称。在这种情况下,我认为h:inputText
从UIComponent
获取来自树的文本,而不是来自bean
。
有什么问题?
答案 0 :(得分:0)
当验证失败时,它应该像那样工作。要获得正确的值,您必须强制重置。
使用<f:resetValues render="id_to_reset">
或<f:ajax resetValues="true" render="id_to_reset">
。在下一版本的RichFaces(4.5.1)中,resetValues属性将添加到ajax组件中。