2013-08-31 95 views
1

我想創建一個簡單的web應用程序,其工作方式與發佈/訂閱機制類似。我有applicationScoped bean,其中包含字符串和xhtml的列表,其中我將這些字符串顯示爲一個表。現在我想添加一些像監聽器和applicationScoped bean中的字符串列表將改變我的表也應該改變。我怎樣才能做到這一點?JSF和applicationscoped bean連接(發佈/訂閱)

回答

1

實際上表格會自動改變。如果在頁面上按下F5鍵,您將注意到現在將呈現新條目。在JSF的渲染階段,它將再次處理表格的value屬性背後的數據。

但我想你不想讓用戶按F5,但一些其他的解決方案。

最簡單的將是一個按鈕,刷新表,像這樣一些Ajax:

<h:commandButton value="Refresh" immediate="true"> 
    <f:ajax render="tableComponent" /> 
</h:commandButton> 

這是一種笨拙的辦法,但它表明,所有需要做的是重新呈現表。

使用一些第三方庫,你也可以自動做到這一點。使用RichFaces,你可以使用<a4j:push>。在PrimeFaces中,您可以使用PrimePush。在內部都使用Atmosphere框架。這些鏈接將告訴你如何使用它們自動將推送從服務器到客戶端(瀏覽器)的list-has-changed-event。

+0

謝謝我認爲我使用primefaces :) –

+0

不客氣。 – noone