<%@ page language="java" pageEncoding="GB2312"%>
<%
//轉(zhuǎn)載請(qǐng)保留以下信息,謝謝!
//by tolys
//本文出處: http://blog.csdn.net/tolys/archive/2007/10/06/1813197.aspx
int pagesize = 10;//每頁(yè)顯示記錄數(shù)
int liststep = 10;//最多顯示分頁(yè)頁(yè)數(shù)
int pages = 1;//默認(rèn)顯示第一頁(yè)
if (request.getParameter("pages") != null) {
pages = Integer.parseInt(request.getParameter("pages"));//分頁(yè)頁(yè)碼變量
}
//sql="select count(*) from table";//取出記錄總數(shù),把*換成記錄名性能更加
int count = 305;//假設(shè)取出記錄總數(shù)
int pagescount = (int) Math.ceil((double) count / pagesize);//求總頁(yè)數(shù),ceil(num)取整不小于num
if (pagescount < pages) {
pages = pagescount;//如果分頁(yè)變量大總頁(yè)數(shù),則將分頁(yè)變量設(shè)計(jì)為總頁(yè)數(shù)
}
if (pages < 1) {
pages = 1;//如果分頁(yè)變量小于1,則將分頁(yè)變量設(shè)為1
}
int listbegin = (pages - (int) Math.ceil((double) liststep / 2));//從第幾頁(yè)開始顯示分頁(yè)信息
if (listbegin < 1) {
listbegin = 1;
}
int listend = pages + liststep/2;//分頁(yè)信息顯示到第幾頁(yè)
if (listend > pagescount) {
listend = pagescount + 1;
}
//顯示數(shù)據(jù)部分
int recordbegin = (pages - 1) * pagesize;//起始記錄
int recordend = 0;
recordend = recordbegin + pagesize;
//最后一頁(yè)記錄顯示處理
if (pages == pagescount) {
recordend = (int) (recordbegin + pagesize * (count % pagesize) * 0.1);
}
//Connection conn = null;//要測(cè)試顯示數(shù)據(jù)請(qǐng)自己鏈接數(shù)據(jù)庫(kù)
//PreparedStatement stmt = null;
//String strSql = "select * from usertable limit recordbegin,pagesize";//取出分頁(yè)記錄,SQL因數(shù)據(jù)庫(kù)而異!
//stmt = conn.prepareStatement(strSql);
//ResultSet rs = stmt.executeQuery();
//while(rs.next())){
// response.getWriter().println(""+rs.getString("userId")+"<br>");//顯示取出的數(shù)據(jù)
//}
for (int i = recordbegin; i < recordend; i++) {
response.getWriter().println("record " + i + "<br>");
}
//顯示數(shù)據(jù)部分
//<顯示分頁(yè)信息
//<顯示上一頁(yè)
if (pages > 1) {
response.getWriter().println(
"<a href=?pages=" + (pages - 1) + ">上一頁(yè)</a>");
}//>顯示上一頁(yè)
//<顯示分頁(yè)碼
for (int i = listbegin; i < listend; i++) {
if (i != pages) {//如果i不等于當(dāng)前頁(yè)
response.getWriter().println(
"<a href=?pages=" + i + ">[" + i + "]</a>");
} else {
response.getWriter().println("[" + i + "]");
}
}//顯示分頁(yè)碼>
//<顯示下一頁(yè)
if (pages != pagescount) {
response.getWriter().println(
"<a href=?pages=" + (pages + 1) + ">下一頁(yè)</a>");
}//>顯示下一頁(yè)
//>顯示分頁(yè)信息
%>