Надеясь, что кто-то может помочь мне с небольшим препятствием, с которым я столкнулся в отношении повторного рендеринга компонентов RichFaces после того, как ссылка / кнопка a4j выполнила свое действие. Упрощенная версия моей проблемы выглядит следующим образом:
У меня есть 2 компонента вывода, отображающие текстовое значение, которое отображается на основе некоторого значения в моем классе менеджера:
<h:outputText id="on" value="ON" rendered="#{manager.isOn}" />
<h:outputText id="off" value="OFF" rendered="#{not manager.isOn}" />
У меня также есть 2 ссылки a4j, которые вызывают какое-то действие, а затем повторно отображают указанные выше компоненты outputText:
<a4j:commandLink ajaxSingle="true" value="Set On" action="#{manager.setOn(true)}" reRender="on,off" />
<a4j:commandLink ajaxSingle="true" value="Set Off" action="#{manager.setOn(false)}" reRender="on,off" />
Я ожидал бы, что когда я нажму кнопку «Установить вкл», будет выведен компонент «ВКЛ» outputText, и будет показан компонент «ВЫКЛ. Однако этого не происходит.
У кого-нибудь есть ответ, почему это так, и как мне повторить рендеринг этих компонентов после завершения действия компонента a4j?