The following editor will bring you an article about jsp page data paging that imitates Baidu paging effect (Example explanation). The editor thinks it's pretty good, so I'll share the JSP source code with you now and give it as a reference. If you are interested in JSP, please follow the editor to take a look.
Without further ado, let’s go directly to the code.
Please base it on your own project , Package name modification
<%@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>
The above jsp page data paging imitates Baidu paging effect (explanation with examples) is all the content shared by the editor, I hope it can give you a reference! !
Related recommendations:
jsp connection mysql code reference~available for personal testing
Internationalization of the ResourceBundle class in jsp
The above is the detailed content of jsp page data paging imitates Baidu paging effect (explanation with examples). For more information, please follow other related articles on the PHP Chinese website!