"jsp假分页技术的实现与缺点分析"
需积分: 9 73 浏览量
更新于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。接着根据当前页、每页显示的记录数和总记录数,计算需要显示的数据范围,并从全部数据中提取出需要展示的部分。最后使用循环展示需要显示的数据,并通过循环展示分页导航栏来实现页面之间的切换。
2023-04-24 上传
2023-05-14 上传
2023-05-18 上传
2023-03-25 上传
2024-09-11 上传
2023-11-07 上传
pisa8
- 粉丝: 0
- 资源: 6
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器