用Jsp-taglib來實現分頁功能

    分頁是比較常用的一種技術,也有很多實現方法。我介紹一下如何用pager-taglib來分頁

 

   轉:

 Pager-taglib 2.0 是一套分頁標籤庫,可以靈活地實現多種不同風格的分頁導航頁面,並且可以很好的與服務器分頁邏輯分離。這樣一套標籤庫,你想你的分頁效果怎樣就能怎樣。
pager-taglib,可以方便的幫我們完成分頁的功能,當然大家不要擔心他的效率,它支持每次從數據庫中只取出要顯示的數據,這樣可以減少數據庫的壓力。

簡單說一下它的怎麼使用:
1、拷貝pager-taglib.jar包
2、在JSP頁面中使用taglib指令引入pager-taglib標籤庫
3、使用pager-taglib標籤庫進行分頁處理

pg:pager【這個標籤用來設置分頁的總體參數】重要參數說明:
 url:分頁的鏈接根地址,pager標籤會在這個鏈接的基礎上附加分頁參數
 items:總記錄數,pager標籤正是根據這個值來計算分頁參數的
 maxPageItems:每頁顯示的行數,默認爲10
 maxIndexPages:在循環輸出頁碼的時候,最大輸出多少個頁碼,默認是10
 
pg:first【第一頁的標籤】重要參數說明:
 export變量的意義:
 pageUrl - 分頁鏈接URL地址(最重要的export參數)
 pageNumber - 頁碼
 firstItem - 首頁第一行的索引值
 lastItem - 首頁最後一行的索引值
 
pg:pre【上一頁標籤】重要參數說明:
 export變量的意義:
 pageUrl - 分頁鏈接URL地址(最重要的export參數)
 pageNumber - 頁碼
 firstItem - 前頁第一行的索引值
 lastItem - 前頁最後一行的索引值

pg:next【下一頁標籤】重要參數說明:
 export變量的意義:
 pageUrl - 分頁鏈接URL地址(最重要的export參數)
 pageNumber - 頁碼
 firstItem - 下頁第一行的索引值
 lastItem - 下頁最後一行的索引值
 
pg:last重要參數說明:
 export變量的意義:
 pageUrl - 分頁鏈接URL地址(最重要的export參數)
 pageNumber - 頁碼
 firstItem - 尾頁第一行的索引值
 lastItem - 尾頁最後一行的索引值
 
pg:pages【這個標籤用來循環輸出頁碼信息】重要參數說明:
 export變量的意義:
 pageUrl - 分頁鏈接URL地址(最重要的export參數)
 pageNumber - 頁碼
 firstItem - pageNumber這個頁碼指定的那一頁的第一行的索引值
 lastItem - pageNumber這個頁碼指定的那一頁的最後一行的索引值

簡單的一個網頁標籤的使用:
<pg:pager items="1001" export="currentPageNumber=pageNumber">
 <pg:first><a href="${pageUrl}">首頁</a></pg:first>
 <pg:prev><a href="${pageUrl}">前頁</a></pg:prev>
 <pg:pages>
  <c:choose>
  <c:when test="${pageNumber eq currentPageNumber }">
  <font color="red">${pageNumber }</font>
  </c:when>
  <c:otherwise>
  <a href="${pageUrl }">${pageNumber}</a>
  </c:otherwise>
  </c:choose>
 </pg:pages>
 <pg:next><a href="${pageUrl}">下頁</a></pg:next>
 <pg:last><a href="${pageUrl}">尾頁</a></pg:last>
</pg:pager>

 

需要注意的地方:很重要,我就是在這裏翻了跟頭了的

1.Pager-taglib向頁面傳的參數是:pager.offset,這個參數的意思是頁面的偏移量,也就是指你說選擇的頁面的頁數。這個參數貌似從0開始,也就是你選擇第一頁的話它傳的參數是0.所以在捕獲這個參數的時候要記得+1.

2.這個標籤的使用其實很簡單,你要做的就是簡單地寫一個控制文件,可以是servlet,可以是portlet,也可以直接放在jsp裏,然後去頁面捕捉pager.offset這個參數去數據庫中重新挖取數據。

3.切記,offset傳過來的值是偏移量,也就是指下一堆記錄的第一條的偏移量,比如你的記錄/頁pageSize=3,那麼傳過來的offset應該如下處理:offset/3+1   這樣得到的就是要生成的頁數!

    offset/

 

發佈了27 篇原創文章 · 獲贊 7 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章