JSP分页显示的实例代码需要以下步骤:
JSP分页显示的实例代码需要以下步骤:
1. 准备数据
首先,我们需要准备一些数据,以便在JSP页面中分页显示。可以从数据库中查询相关数据,或者手动设置一些数据。
int pageSize = 5; //每页显示5条数据
int currentPage = 1; //当前页码
List<String> dataList = new ArrayList<>(); //数据列表
dataList.add("数据1");
dataList.add("数据2");
...
2. 计算分页信息
根据当前页码和每页显示的数据量,可以计算出总共有多少页,并且把当前页码转换成数据库中的偏移量。
int totalCount = dataList.size(); //总共有多少条数据
int totalPage = (totalCount + pageSize - 1) / pageSize; //总共有多少页
int offset = (currentPage - 1) * pageSize; //当前页码对应的偏移量
3. 显示分页条
为了让用户更方便地浏览分页数据,我们需要在页面上显示一个分页条,用户可以点击分页条上的链接来切换页面。以下是一个简单的分页条模板:
<div class="pagination">
<ul>
<% if(currentPage == 1){ %>
<li class="disabled"><a href="#">第一页</a></li>
<li class="disabled"><a href="#">上一页</a></li>
<% } else { %>
<li><a href="?page=1">第一页</a></li>
<li><a href="?page=<%= currentPage - 1 %>">上一页</a></li>
<% } %>
<% for(int i = 1; i <= totalPage; i++){ %>
<% if(i == currentPage){ %>
<li class="active"><a href="#"><%= i %></a></li>
<% } else { %>
<li><a href="?page=<%= i %>"><%= i %></a></li>
<% } %>
<% } %>
<% if(currentPage == totalPage){ %>
<li class="disabled"><a href="#">下一页</a></li>
<li class="disabled"><a href="#">最后一页</a></li>
<% } else { %>
<li><a href="?page=<%= currentPage + 1 %>">下一页</a></li>
<li><a href="?page=<%= totalPage %>">最后一页</a></li>
<% } %>
</ul>
</div>
在分页条模板中,我们使用了JSP的标签,可以根据当前页码和总页数来动态生成链接。如果当前页是第一页或者最后一页,链接会被禁用。
4. 显示分页数据
最后一步是在页面上显示分页数据。根据偏移量和每页显示的数据量,从数据列表中取出需要显示的数据,并且遍历它们。
<table>
<tr>
<th>编号</th>
<th>数据</th>
</tr>
<% for(int i = offset; i < Math.min(offset + pageSize, dataList.size()); i++){ %>
<tr>
<td><%= i + 1 %></td>
<td><%= dataList.get(i) %></td>
</tr>
<% } %>
</table>
以上就是完整的JSP分页显示的实例代码攻略。以下是两个示例说明:
示例1:从数据库中查询数据
int pageSize = 5; //每页显示5条数据
int currentPage = 1; //当前页码
int totalCount = 0; //总共有多少条数据
List<String> dataList = new ArrayList<>(); //数据列表
//查询总共有多少条数据
//SELECT COUNT(*) FROM table_name
totalCount = 100;
//查询当前页需要显示的数据
//SELECT * FROM table_name LIMIT offset,pageSize
int offset = (currentPage - 1) * pageSize;
sql = "SELECT * FROM table_name LIMIT " + offset + "," + pageSize;
ResultSet rs = statement.executeQuery(sql);
while(rs.next()){
String data = rs.getString("data");
dataList.add(data);
}
示例2:使用Restful API获取数据
int pageSize = 5; //每页显示5条数据
int currentPage = 1; //当前页码
int totalCount = 0; //总共有多少条数据
List<String> dataList = new ArrayList<>(); //数据列表
//查询总共有多少条数据
//GET /api/data/count
httpGet = new HttpGet("/api/data/count");
HttpResponse response = client.execute(httpGet);
HttpEntity entity = response.getEntity();
String content = EntityUtils.toString(entity);
totalCount = Integer.parseInt(content);
//查询当前页需要显示的数据
//GET /api/data?page=currentPage&pageSize=pageSize
int offset = (currentPage - 1) * pageSize;
String url = "/api/data?page=" + currentPage + "&pageSize=" + pageSize;
httpGet = new HttpGet(url);
response = client.execute(httpGet);
entity = response.getEntity();
content = EntityUtils.toString(entity);
JSONArray jsonArray = new JSONArray(content);
for(int i = 0; i < jsonArray.length(); i++){
String data = jsonArray.getJSONObject(i).getString("data");
dataList.add(data);
}
沃梦达教程
本文标题为:JSP分页显示的实例代码
基础教程推荐
猜你喜欢
- Java实战之网上书店管理系统的实现 2022-12-08
- js中let能否完全替代IIFE 2023-12-15
- Java类中this关键字与static关键字的用法解析 2023-05-14
- Java基于线程实现带有滚动效果的Label标签实例 2023-12-16
- SpringMVC实现获取请求参数方法详解 2023-06-02
- Java使用Sa-Token框架完成踢人下线功能 2023-07-14
- log4j日志格式加入自定义字段信息方式 2023-08-10
- 如何使用hutool做本地缓存的工具类 2023-06-30
- 一文详解Java闭锁和栅栏的实现 2023-01-03
- java – 模拟“PSQLException:致命:抱歉,已经有太多客户” 2023-11-04