2012-02-01 59 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