2010-06-30 131 views
2

我有數據表,它是從數據庫中提取信息。我在表單中添加了一個按鈕,用於強制刷新表格(id爲「table」),但我不知道如何去做。我現在擁有的是:如何在JSF 2.0中強制通過AJAX刷新數據表?

<h:commandButton value="Refresh"> 
    <f:ajax render="table"/> 
</h:commandButton> 

我的目標是在點擊按鈕時強制渲染表格組件。但是,似乎無論是點擊被忽略,還是返回緩存的數據,而不是實際出去並再次調用我的數據庫代碼。

我在做什麼錯?

回答

0

呃。它實際上工作,只是非常痛苦地慢。我們最近更換了數據庫服務器,而舊版本的查詢只花費了不到一秒的時間,而剛剛花費了20多秒。我只是在觀看時才超時。嘆。

作爲一個方面說明,只要我想出來,我測試了無論有沒有行動。以兩種方式工作(使用getter進行查找)。

1

你必須在你的commandButton中指定一個動作,它調用一個bean並刷新表中顯示的數據(當前按鈕什麼也不做)。 我不是專業人士,但我認爲它應該看起來像這樣:

<h:commandButton value="Refresh" action="#{myBean.refreshData}"> 
    <f:ajax render="table"/> 
</h:commandButton> 
+0

我也試過。 bean方法確實被調用,但表從不更新。在我的情況下,沒有特別需要調用某個方法,因爲表引用數據庫查找的getter(我當前沒有緩存在對象中)。 – 2010-07-01 12:04:26