數據分頁 ID 姓名 年齡 專業 pageCount ? pageCount : currPage; PreparedStatement pst = conn.prepareStatement("select * from studen... ...
<%@page import="web09.shop.DBUtil"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.PreparedStatement"%> <%@page import="java.sql.Connection"%> <%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>數據分頁</title> <style type="text/css"> .page a{ min-width: 34px; height: 34px; border: 1px solid #e1e2e3; display:block; margin:0 3px; float: left; text-decoration: none; text-align:center; line-height: 34px; } .page a:HOVER { background: #f2f8ff; border: 1px solid #38f ; } .page a.prev{ width:90px; } .page span{ width: 34px; height: 34px; border: 1px solid transparent; cursor: pointer; display:block; float: left; text-decoration: none; text-align:center; line-height: 34px; cursor: default; } </style> </head> <body> <table class="tt" border="1" align="center" width="80%" cellpadding="10"> <tr> <th>ID</th> <th>姓名</th> <th>年齡</th> <th>專業</th> </tr> <% DBUtil dbutil=new DBUtil(); Connection conn=dbutil.getCon(); //Connection conn = new DBUtil().getCon(); PreparedStatement pstmt1 = conn.prepareStatement("select count(*) from student"); ResultSet rs1 = pstmt1.executeQuery(); rs1.next(); int recordCount = rs1.getInt(1); //記錄總數 int pageSize = 10; //每頁記錄數 int start=1; //顯示開始頁 int end=10; //顯示結束頁 int pageCount = recordCount%pageSize==0 ? recordCount/pageSize : recordCount/pageSize+1; int currPage = request.getParameter("p")==null ? 1 : Integer.parseInt(request.getParameter("p")); currPage = currPage<1 ? 1 : currPage; currPage = currPage>pageCount ? pageCount : currPage; PreparedStatement pst = conn.prepareStatement("select * from student limit ?,?"); pst.setInt(1,currPage*pageSize-pageSize); pst.setInt(2,pageSize); ResultSet rs = pst.executeQuery(); while(rs.next()){ %> <tr align="center"> <td><%=rs.getInt(1) %></td> <td><%=rs.getString(2) %></td> <td><%=rs.getInt("age") %></td> <td><%=rs.getString(4) %></td> </tr> <% } %> <tr> <th colspan="4" class="page"> <% if(currPage>=7){ start=currPage-5; end=currPage+4; } if(start>(pageCount-10)){ start=pageCount-9; } if(currPage>1){ out.print(String.format("<a class=\"prev\" href=\"?p=%d\">首頁</a>",1)); out.print(String.format("<a class=\"prev\" href=\"?p=%d\"><<上一頁</a>",currPage-1)); } for(int i=start;i<=end;i++){ if(i>pageCount) break; String pageinfo=String.format("<a href=\"?p=%d\">%d</a>",i,i); if(i==currPage){ pageinfo=String.format("<span>%d</span>",i); } out.print(pageinfo); } if(currPage<pageCount){ out.print(String.format("<a class=\"prev\" href=\"?p=%d\">下一頁>></a>",currPage+1)); out.print(String.format("<a class=\"prev\" href=\"?p=%d\">尾頁</a>",pageCount)); } %> </th> </tr> </table> </body> </html>
請根據自己的項目、包名、資料庫信息進行修改