gpt4 book ai didi

jboss - 如何在调用a4j链接后重新呈现RichFaces组件

转载 作者:行者123 更新时间:2023-12-04 13:25:09 25 4
gpt4 key购买 nike

希望有人可以在a4j链接/按钮执行 Action 后重新渲染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" />

我希望发生的是,当我单击“设置为开”按钮时,“打开” outputText组件将取消隐藏,而将显示“OFF outputText”组件。但是,这不会发生。

有谁能回答为什么会这样,以及在a4j组件操作完成后如何重新渲染这些组件?

最佳答案

outputText组件包装在s:div中,然后重新渲染,如下所示:

<s:div id="myDiv">
<h:outputText id="on" value="ON" rendered="#{manager.isOn}" />

<h:outputText id="off" value="OFF" rendered="#{not manager.isOn}" />
</s:div>

<a4j:commandLink ajaxSingle="true" value="Set On"
action="#{manager.setOn(true)}" reRender="myDiv" />

<a4j:commandLink ajaxSingle="true" value="Set Off"
action="#{manager.setOn(false)}" reRender="myDiv" />

关于jboss - 如何在调用a4j链接后重新呈现RichFaces组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1107951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com