希望有人可以帮助我解决在 a4j 链接/按钮执行操作后重新渲染 RichFaces 组件时遇到的一个小障碍。我的问题的简化版本如下:
我有 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" />
我期望发生的是,当我单击“设置打开”按钮时,“打开”输出文本组件将取消隐藏,而“关闭输出文本”组件将显示。但是,这不会发生。
有没有人知道为什么会这样,以及在 a4j 组件操作完成后我如何重新渲染这些组件?