JSF получает значения от UIComponent

Я пытаюсь описать мою проблему:

Вот 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, В чем проблема?

1 ответ

Это должно работать так, когда проверка не проходит. Чтобы получить правильное значение, вы должны принудительно выполнить сброс.

Используйте либо <f:resetValues render="id_to_reset"> или же <f:ajax resetValues="true" render="id_to_reset">, В следующей версии RichFaces (4.5.1) атрибут resetValues ​​будет добавлен к компонентам ajax.

Другие вопросы по тегам