<%@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; cursor: pointer; display:block; float: left; text-decoration: none; text-align:center; line-height: 34px; } .page a:HOVER { background: #f2f8ff; border: 1px solid #38f ; } .page a.prev{ width:50px; } .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"> <% out.print(String.format("<a class=\"prev\" href=\"?p=%d\">首页</a>",1)); 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>",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>请根据自己的项目、包名修改
时间: 2024-10-12 17:03:06