2012-02-01 63 views
0

我在JSF中重新渲染<rich:dataTable>时遇到问题。我有我的网页上刷新链接应该只刷新内容如何重新提交富文本:dataTable

<h:commandLink action="#" value="#{messages['listmsgs.header.refresh']}"> 
    <a4j:support event="onclick" reRender="mesagesListTable" /> 
</h:commandLink> 

但是,当我打这个按钮,没有任何反应。当我按F5时,也没有任何反应。如果我点击将我引导到当前页面的链接,则也不会有任何反应。只有当我点击指向另一页的链接并返回时(不是通过浏览器的后退按钮),内容才会被重新渲染。我如何使用reRender强制执行该效果?

回答

1

重申数据表的父组件。例如,您可以将dataTable放置在h:panelGroup中,并将reRender放置在panelGroup中。

+0

它似乎没有工作。也许它与Hibernate有关。我注意到,当表得到一个新的行时,表被更新。但是当一个单元格的值发生变化时,什么都不会发生 – thobens 2012-02-01 13:15:42

+0

你是否保存了某个地方给表提供的集合,或者每次调用getter时从数据库中读取它? – Pablo 2012-02-01 13:22:09

+0

每次调用getter时我都会读它。但我找到了解决方案:我在getter中调用了entityManager.clear(),现在它可以工作。感谢您的意见 – thobens 2012-02-01 13:36:22