"jsp假分页技术的实现与缺点分析"
需积分: 9 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。接着根据当前页、每页显示的记录数和总记录数,计算需要显示的数据范围,并从全部数据中提取出需要展示的部分。最后使用循环展示需要显示的数据,并通过循环展示分页导航栏来实现页面之间的切换。
2023-04-24 上传
2023-05-14 上传
2023-05-18 上传
2023-03-25 上传
2023-11-07 上传
2023-09-09 上传
pisa8
- 粉丝: 0
- 资源: 6
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储