微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

希望有人可以帮我解决一个轻微的障碍,在a4j链接/按钮执行了它的操作后,我反对重新渲染RichFaces组件.我的问题的简化版本如下:

我有2个输出组件显示文本值,这些组件基于我的manager类中的某个值进行渲染:

<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" />

我期望发生的是,当我点击’Set On’按钮时,’ON’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" />

原文地址:https://www.jb51.cc/ajax/159885.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐