分頁公用代碼分享,只求人氣不求利益!!!

分頁公用代碼分享,只求人氣不求利益!!!
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!-- 分頁導航開始 -->           
           第${page.pageNum}頁/共${page.totalPage}頁  
           <a href="${pageContext.request.contextPath}${page.servletUrl}">首頁</a>  
           <a href="${pageContext.request.contextPath}${page.servletUrl}?pagenum=${(page.pageNum-1)>0?(page.pageNum-1):1}">上一頁</a>  
           
           <c:forEach begin="${page.startPage}" end="${page.endPage}" var="num">
                   <a href="${pageContext.request.contextPath}${page.servletUrl}?pagenum=${num}">[${num}]</a>  
                  </c:forEach>
           <a href="${pageContext.request.contextPath}${page.servletUrl}?pagenum=${(page.pageNum+1)>page.totalPage?page.totalPage:(page.pageNum+1)}">下一頁</a>  
           <a href="${pageContext.request.contextPath}${page.servletUrl}?pagenum=${page.totalPage}">尾頁</a>  






           <select id="s1" name="s1">
                   <c:forEach begin="1" end="${page.totalPage}" var="num">
                           <option value="${num}" ${page.pageNum==num?'selected="selected"':''}>${num}</option>
                   </c:forEach>
           </select>  
           <input type="button" value="跳轉" οnclick="jump()"/>
           <script type="text/javascript">
                   function jump(){
                        var num = document.getElementById("s1").value;
                        window.location.href="${pageContext.request.contextPath}${page.servletUrl}?pagenum="+num;
                   }
           </script>
<!-- 分頁導航結束 -->






後臺分頁代碼:


private List records;//分頁顯示的記錄               Dao可以查出來
        private int pageNum;//當前頁碼                                 頁面上傳遞過來,默認第1頁
        private int totalPage;//總頁數                                 計算出來:總記錄數和pageSize
        private int pageSize = 10;//每頁顯示的記錄條數
        private int totalRecords;//總記錄條數                 Dao可以查出來
        private int startIndex;//每頁開始記錄的索引號           可以算出來:
        






        private int startPage;//頁碼顯示:起始頁碼
        private int endPage;//頁碼顯示:結束頁碼
        public Page(int pageNum,int totalRecords){
                this.pageNum = pageNum;
                this.totalRecords = totalRecords;
                //計算總頁數
                totalPage = (totalRecords%pageSize==0)?(totalRecords/pageSize):(totalRecords/pageSize+1);
                //計算每頁開始記錄的索引
                startIndex = (pageNum-1)*pageSize;
                //計算起始頁碼和結束頁碼
                if(totalPage<=9){
                        startPage = 1;
                        endPage = totalPage;
                }else{
                        startPage = pageNum-4;
                        endPage = pageNum+4;
                        if(startPage<1){
                                startPage = 1;
                                endPage = 9;
                        }
                        if(endPage>totalPage){
                                endPage = totalPage;
                                startPage = endPage-8;
                        }
                }
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章