2010-02-04 39 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