spring mvc 分页显示
时间: 2024-06-17 11:04:30 浏览: 81
springmvc_分页
Spring MVC 是一个基于 MVC 设计模式的 Web 框架,它可以帮助我们快速开发 Web 应用程序。分页是指将一定数量的数据分成若干页进行显示,一般用于数据量较大的情况。Spring MVC 中可以通过使用 Pageable 接口和 Page 类实现分页查询,具体实现方式如下:
1. 在控制器方法中添加 Pageable 参数,例如:
```
@RequestMapping("/list")
public String list(Pageable pageable, Model model) {
// 处理分页查询逻辑
Page<User> users = userService.findAll(pageable);
model.addAttribute("users", users);
return "userList";
}
```
2. 在 Service 层中实现分页查询逻辑,例如:
```
public Page<User> findAll(Pageable pageable) {
return userRepository.findAll(pageable);
}
```
3. 在视图中使用 Spring MVC 标签库显示分页导航和数据,例如:
```
<table>
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>邮箱</th>
</tr>
</thead>
<tbody>
<c:forEach items="${users.content}" var="user">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
<td>${user.email}</td>
</tr>
</c:forEach>
</tbody>
</table>
<div class="pagination">
<spring:theme code="pagination" var="pagination"/>
<ul>
<li class="${users.first?'disabled':''}"><a href="${pagination.link(users.number - 1)}">«</a></li>
<c:forEach begin="0" end="${users.totalPages-1}" varStatus="status">
<li class="${users.number == status.index?'active':''}"><a href="${pagination.link(status.index)}">${status.index + 1}</a></li>
</c:forEach>
<li class="${users.last?'disabled':''}"><a href="${pagination.link(users.number + 1)}">»</a></li>
</ul>
</div>
```
阅读全文