JSF从UIComponent获取值

时间:2014-11-21 13:53:03

标签: jsf richfaces

我试着描述我的问题:

以下是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:inputTexth:outputText中的文本是不同的。 h:outputText中的文字等于#{bean.name}h:inputText中的文字等于表格中第一行的名称。在这种情况下,我认为h:inputTextUIComponent获取来自树的文本,而不是来自bean。 有什么问题?

1 个答案:

答案 0 :(得分:0)

当验证失败时,它应该像那样工作。要获得正确的值,您必须强制重置。

使用<f:resetValues render="id_to_reset"><f:ajax resetValues="true" render="id_to_reset">。在下一版本的RichFaces(4.5.1)中,resetValues属性将添加到ajax组件中。