2010-02-04 29 views
2

我做了一个使用HTMLPanelGrid和HTMLAjaxSupport(a4j:支持bean)的按钮来响应'onclick'。使用a4j:支持让PanelGrid可点击,点击后页面不刷新

通过HTMLAjaxSupport注册的eventlistener向页面添加了一个组件(具有不同支持bean的不同组件)。

问题是,除非刷新页面或按刷新显示的另一个按钮,否则添加不可见。我试图弄清楚如何刷新页面。

总结一下 - 我想知道如何在支持bean更改后刷新由支持bean备份的可视化组件。 (刷新应该在点击支持ajax的组件后发生)

谢谢!

回答

3

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

请注意,如果某个组件已被隐藏,则必须reRender其父。例如:

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

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

+0

谢谢! 关于绑定属性 - 如何在没有它的情况下动态添加和更改组件? (这是我为什么使用绑定的主要原因) – Ben 2010-02-04 11:43:14

+1

只为组件使用'rendered =“#{condition}',然后改变条件并reRender – Bozho 2010-02-04 11:49:45