"jsp假分页技术的实现与缺点分析"

需积分: 9 3 下载量 101 浏览量 更新于2024-01-14 收藏 18KB DOCX 举报
jsp假分页是一种在jsp中实现的假分页技术。假分页的思想是先取出全部数据,然后通过程序算法来实现分页,只将需要显示的部分数据进行展示。 在jsp中实现假分页的具体步骤如下: 1. 定义分页变量:首先需要定义每页要显示的记录数lineSize、当前是第几页currentPage、总页数pageSize和总记录数allRecorders。 2. 计算总页数:将总记录数allRecorders除以每页显示的记录数lineSize,得到总页数pageSize。 3. 接收传入的当前页:通过request.getParameter()方法获取当前页的值,赋值给currentPage。如果没有传入当前页的值,则默认为第一页。 4. 分页展示数据:根据当前页、每页显示的记录数和总记录数,来计算需要显示的数据范围,并从全部数据中提取出需要展示的部分。 以下是一个实现假分页的示例代码: <%@ page contentType="text/html;charset=gb2312"%> <%@ page import="java.sql.*"%> <html> <head> <title>分页显示</title> </head> <body> <center> <h1>人员列表</h1> <hr> <br> <%!final String jspUrl = "list_person_false_05.jsp" ;%> <% // 定义如下分页变量 // 1、定义每页要显示的记录数 int lineSize = 10 ; // 2、定义一个当前是第几页 int currentPage = 1 ; // 计算出总页数 int pageSize = 0 ; // 总记录数 / 每页显示的记录数 int allRecorders = 30 ; %> <% // 接收传过来的当前页 try{ currentPage = Integer.parseInt(request.getParameter("currentPage")); }catch(Exception e){ currentPage = 1 ; } // 计算总页数 pageSize = (allRecorders + lineSize - 1) / lineSize ; // 分页显示数据 int fromIndex = (currentPage - 1) * lineSize ; int toIndex = currentPage * lineSize ; toIndex = toIndex > allRecorders ? allRecorders : toIndex ; // 执行查询语句,提取需要显示的数据部分 // ... %> <!-- 在这里展示分页显示的数据 --> <table> <tr> <th>编号</th> <th>姓名</th> <th>年龄</th> </tr> <!-- 这里循环展示需要显示的数据 --> <% for(int i=fromIndex ; i<toIndex ; i++){ %> <tr> <td><%= i+1 %></td> <td><%= rs.getString("name") %></td> <td><%= rs.getInt("age") %></td> </tr> <% } %> </table> <!-- 在这里展示分页导航栏 --> <div> <!-- 这里使用jspUrl来传递页面的地址 --> <% for(int i=1 ; i<=pageSize ; i++){ %> <a href="<%=jspUrl%>?currentPage=<%=i%>"><%=i%></a> <% } %> </div> </center> </body> </html> 以上代码中,我们先通过request.getParameter()方法获取当前页的值,如果没有传入当前页的值,则默认为第一页。然后根据每页显示的记录数lineSize、总记录数allRecorders和当前页currentPage,计算出总页数pageSize。接着根据当前页、每页显示的记录数和总记录数,计算需要显示的数据范围,并从全部数据中提取出需要展示的部分。最后使用循环展示需要显示的数据,并通过循环展示分页导航栏来实现页面之间的切换。