<%@ page language="java" pageEncoding="GB2312"%>
            <%
  //轉載請保留以下信息,謝謝!
  //by tolys
  //本文出處: http://blog.csdn.net/tolys/archive/2007/10/06/1813197.aspx 
                int pagesize = 10;//每頁顯示記錄數(shù)
                int liststep = 10;//最多顯示分頁頁數(shù)
                int pages = 1;//默認顯示第一頁
                if (request.getParameter("pages") != null) {
                    pages = Integer.parseInt(request.getParameter("pages"));//分頁頁碼變量
                }
                //sql="select count(*) from table";//取出記錄總數(shù),把*換成記錄名性能更加
                int count = 305;//假設取出記錄總數(shù)
                int pagescount = (int) Math.ceil((double) count / pagesize);//求總頁數(shù),ceil(num)取整不小于num
                if (pagescount < pages) {
                    pages = pagescount;//如果分頁變量大總頁數(shù),則將分頁變量設計為總頁數(shù)
                }
                if (pages < 1) {
                    pages = 1;//如果分頁變量小于1,則將分頁變量設為1
                }
                int listbegin = (pages - (int) Math.ceil((double) liststep / 2));//從第幾頁開始顯示分頁信息
                if (listbegin < 1) {
                    listbegin = 1;
                }
                int listend = pages + liststep/2;//分頁信息顯示到第幾頁
                if (listend > pagescount) {
                    listend = pagescount + 1;
                }

                //顯示數(shù)據(jù)部分
                int recordbegin = (pages - 1) * pagesize;//起始記錄
                int recordend = 0;
                recordend = recordbegin + pagesize;
                //最后一頁記錄顯示處理
                if (pages == pagescount) {
                    recordend = (int) (recordbegin + pagesize * (count % pagesize) * 0.1);
                }
                //Connection conn = null;//要測試顯示數(shù)據(jù)請自己鏈接數(shù)據(jù)庫
                //PreparedStatement stmt = null;
                //String strSql = "select * from usertable limit recordbegin,pagesize";//取出分頁記錄,SQL因數(shù)據(jù)庫而異!
                //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ù)部分

                //<顯示分頁信息
                //<顯示上一頁
                if (pages > 1) {
                    response.getWriter().println(
                    "<a href=?pages=" + (pages - 1) + ">上一頁</a>");
                }//>顯示上一頁
                //<顯示分頁碼
                for (int i = listbegin; i < listend; i++) {
                    if (i != pages) {//如果i不等于當前頁
                        response.getWriter().println(
                        "<a href=?pages=" + i + ">[" + i + "]</a>");
                    } else {
                        response.getWriter().println("[" + i + "]");
                    }
                }//顯示分頁碼>
                //<顯示下一頁
                if (pages != pagescount) {
                    response.getWriter().println(
                    "<a href=?pages=" + (pages + 1) + ">下一頁</a>");
                }//>顯示下一頁
                //>顯示分頁信息
            %>