【问题标题】:Using a4j:support to make PanelGrid clickable, after the click the page doesn't refresh使用 a4j:support 使 PanelGrid 可点击,点击后页面不刷新
【发布时间】:2010-02-04 10:56:19
【问题描述】:

我使用 HTMLPanelGrid 和 HTMLAjaxSupport(a4j:support from backing bean)制作了一个响应“onclick”的按钮。

向 HTMLAjaxSupport 注册的事件监听器将组件添加到页面(具有不同支持 bean 的不同组件)。

问题是,在我刷新页面或按下另一个刷新显示的按钮之前,添加是不可见的。我正在尝试弄清楚如何刷新页面。

总结一下 - 我想知道在支持 bean 更改后如何刷新由支持 bean 支持的可视组件。 (应该在单击支持 ajax 的组件后进行刷新)

谢谢!

【问题讨论】:

    标签: ajax jsf richfaces


    【解决方案1】:

    所有<a4j: 标签都具有reRender 属性。它应该指向您要刷新的对象/区域的id

    请注意,如果组件已被隐藏,则必须重新渲染其 父级。例如:

    <h:panelGroup id="newComponentWrapper">
    <!-- your component goes here -->
    </h:panelGroup>
    ...
    <a4j:support reRender="newComponentWrapper" .. />
    

    另一个建议 - 避免使用 binding 属性 - 在 95% 的情况下你可以不用它。

    【讨论】:

    • 谢谢!关于绑定属性 - 如果没有它,您将如何动态添加和更改组件? (这就是我目前使用绑定的主要原因)
    • 对组件使用rendered="#{condition},然后更改条件并重新渲染
    猜你喜欢
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    • 2012-02-08
    • 2019-11-09
    • 1970-01-01
    • 2012-12-08
    相关资源
    最近更新 更多