帮我写一个jsp分页案例
时间: 2023-08-28 17:59:53 浏览: 50
当然,下面是一个简单的 JSP 分页案例的示例代码:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
// 模拟从数据库中获取数据
List<String> dataList = new ArrayList<>();
for (int i = 1; i <= 100; i++) {
dataList.add("数据 " + i);
}
// 当前页码和每页显示的数据条数
int currentPage = (request.getParameter("page") != null) ? Integer.parseInt(request.getParameter("page")) : 1;
int pageSize = 10;
// 计算总数据条数、总页数和当前页的起始索引
int totalRecords = dataList.size();
int totalPages = (int) Math.ceil((double) totalRecords / pageSize);
int startIndex = (currentPage - 1) * pageSize;
// 获取当前页需要显示的数据
List<String> currentPageData = dataList.subList(startIndex, Math.min(startIndex + pageSize, totalRecords));
%>
<!DOCTYPE html>
<html>
<head>
<title>JSP 分页示例</title>
</head>
<body>
<h1>分页示例</h1>
<!-- 显示当前页的数据 -->
<ul>
<c:forEach var="data" items="${currentPageData}">
<li>${data}</li>
</c:forEach>
</ul>
<!-- 显示分页导航栏 -->
<div>
<%-- 上一页链接 --%>
<% if (currentPage > 1) { %>
<a href="?page=<%= currentPage - 1 %>">上一页</a>
<% } %>
<%-- 分页数字链接 --%>
<% for (int i = 1; i <= totalPages; i++) { %>
<a href="?page=<%= i %>"><%= i %></a>
<% } %>
<%-- 下一页链接 --%>
<% if (currentPage < totalPages) { %>
<a href="?page=<%= currentPage + 1 %>">下一页</a>
<% } %>
</div>
</body>
</html>
```
这个示例使用了 JSTL 标签库来简化代码,使用 Java 代码模拟了从数据库中获取数据的过程,并实现了分页功能。
你可以将以上代码保存为一个 `.jsp` 文件,部署到你的 Java Web 服务器上运行,然后通过访问对应的 URL 地址来查看分页效果。
希望这个示例能够帮助到你!如果有任何问题,请随时提问。