分頁公用代碼分享,只求人氣不求利益!!!
分頁公用代碼分享,只求人氣不求利益!!!
<%@ 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;
}
}
}
<%@ 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;
}
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.