2014-02-20 56 views
3

我正在使用顯示標籤來顯示我的結果集。 下面是我如何實現它。分頁不能使用顯示標籤

<display:table name="w" pagesize="10" export="true" /> 

這裏我設置pagesize =10,當我運行應用程序,將記錄分頁大小10但是當我的下一個頁面上點擊查看下一組記錄,我得到一個空的結果集。

例如,如果有12條記錄,其中10條顯示在第一頁,當我點擊下一頁查看最後一頁時,我得到一個空白頁。 這是怎麼發生的?

w包含了我的所有記錄的列表:

request.setAttribute("w", resultrechparcritere); 
+0

就我個人而言,我不使用*顯示標籤*以表格格式顯示數據(也以頁面方式顯示)。雖然它有助於實現分頁,但當我們需要與標準不同的東西時,它會帶來很多麻煩。這可能導致不必要的浪費時間。此外,分頁的概念應直接在有問題的後端數據庫上完成,在從該數據庫獲取完整行列表之後不應發生這種情況。 – Tiny

+0

@ user3333294:不要試圖編輯我的答案來回答我,而是使用評論。如果現在你的問題是在每個動作調用中重新運行查詢,這是另一個問題,然後應該打開另一個問題,因爲這個問題是關於一個非工作分頁,我做了它的工作。您還應該通過在答案的左上角標記V來接受答案。並在這裏稍作介紹:http://stackoverflow.com/tour –

+0

因爲displaytag的分頁符通過請求工作,那麼每次都會重新創建動作。如果您想阻止對每個請求的數據庫查詢,請在第一次將結果集放入會話中,然後再檢索它。另外閱讀我以前的消息。不同的問題=新的問題,請接受這個,因爲它已經工作 –

回答

2

表必須能夠處理分頁時接觸的動作,

那麼你必須包括requestURI,沿(未-mandatory領域,如果我記得很清楚)keepStatusuid

<display:table requestURI = "myActionURL" 
       keepStatus = "true" 
       pagesize = "10" 
        name = "w" 
         uid = "myTable" 
        export = "true" /> 

然後,你甚至可以攔截和tweak/hack the pagination parameters by yourself,以編程方式到達特定頁面。