pom.xml
首先在项目pom.xml中加入pagehelper插件的依赖
<!--pagehelper分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
Controller
@Controller
@RequestMapping("/chat")
public class LeaveMessageController extends BaseController {
@Autowired
private LeaveMessageService leaveMessageService;
/**
*
* @Title: LeaveMessage
* @author lizheng
* @param pageSize 一页显示多少条-非必传值
* @param pageNum 显示当前页--必传值
* @ToDo:
* @Description:
* @date 2020年9月02日
*/
@GetMapping("/leaveMessage")
String LeaveMessage(Model model,@RequestParam(required = false,defaultValue="1",value="pageNum")Integer pageNum,@RequestParam(defaultValue="10",value="pageSize")Integer pageSize){
Map<String, Object> map = new HashMap<String, Object>();
//为了程序的严谨性,判断非空:
if(pageNum == null){
pageNum = 1; //设置默认当前页
}
if(pageNum <= 0){
pageNum = 1;
}
if(pageSize == null){
pageSize = 10; //设置默认每页显示的数据数
}
//1.引入分页插件,pageNum是第几页,pageSize是每页显示多少条,默认查询总数count
PageHelper.startPage(pageNum,pageSize);
//2.紧跟的查询就是一个分页查询-必须紧跟.后面的其他查询不会被分页,除非再次调用PageHelper.startPage
List<Map<String,Object>> leaveMessageList = leaveMessageService.list(map);
//3.使用PageInfo包装查询后的结果,5是连续显示的条数,结果list类型是Page<E>
PageInfo pageInfo = new PageInfo(leaveMessageList,pageSize);
//4.使用model/map/modelandview等带回前端
model.addAttribute("pageInfo",pageInfo);
return "chat/leaveMessage/leaveMessage";
}
}
html
<!--分页-->
<div class="modal-footer no-margin-top">
<div class="col-md-6 col-xs-8 col-xs-offset-1">
当前第 [[${pageInfo.pageNum}]]页,共 [[${pageInfo.pages}]] 页, 共 [[${pageInfo.total}]] 条记录
</div>
<ul class="pagination pull-right no-margin">
<li>
<a th:href="'/chat/leaveMessage?pageNum=1'">首页</a>
</li>
<li class="prev" th:if="${pageInfo.hasPreviousPage}">
<a th:href="'/chat/leaveMessage?pageNum='+${pageInfo.prePage}">
<i class="ace-icon fa fa-angle-double-left"></i>
</a>
</li>
<!--遍历条数-->
<li th:each="nav:${pageInfo.navigatepageNums}">
<a th:href="'/chat/leaveMessage?pageNum='+${nav}" th:text="${nav}" th:if="${nav != pageInfo.pageNum}"></a>
<span style="font-weight: bold;background: #6faed9;" th:if="${nav == pageInfo.pageNum}" th:text="${nav}" ></span>
</li>
<li class="next" th:if="${pageInfo.hasNextPage}">
<a th:href="'/chat/leaveMessage?pageNum='+${pageInfo.nextPage}">
<i class="ace-icon fa fa-angle-double-right"></i>
</a>
</li>
<li>
<a th:href="'/chat/leaveMessage?pageNum='+${pageInfo.pages}">尾页</a>
</li>
</ul>
</div>