Der unten stehende Herausgeber bringt Ihnen einen Artikel über JSP-Seitendaten-Paging, der den Baidu-Paging-Effekt imitiert (Erklärung mit Beispielen). Der Herausgeber findet es ziemlich gut, deshalb teile ich jetzt den JSP-Quellcode mit Ihnen und gebe ihn als Referenz. Wenn Sie sich für JSP interessieren, folgen Sie bitte dem Editor, um einen Blick darauf zu werfen
Kein Unsinn mehr, gehen Sie einfach zum Code
Bitte base es auf Ihrem eigenen Projekt, Paketnamenänderung
<%@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>
Das obige JSP-Seitendaten-Paging imitiert den Baidu-Paging-Effekt (Erklärung mit Beispielen) und ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, er kann Ihnen eine Referenz geben ! !
Verwandte Empfehlungen:
JSP-Verbindungs-MySQL-Code-Referenz ~ für persönliche Tests verfügbar
Internationalisierung der ResourceBundle-Klasse in JSP
Das obige ist der detaillierte Inhalt vonJSP-Seitendaten-Paging imitiert den Baidu-Paging-Effekt (Erklärung mit Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!