参数
//当前页
private int pageNum;
//每页的数量
private int pageSize;
//当前页的数量
private int size;
//当前页展示的数据的起始行
private int startRow;
//当前页展示的数据的结束行
private int endRow;
//总记录数--所需要进行分页的数据条数
private long total;
//总页数
private int pages;
//页面展示的结果集,比如说当前页要展示20条数据,则此list为这20条数据
private List<T> list;
//前一页页码
private int prePage;
//下一页页码
private int nextPage;
//是否为第一页,默认为false,是第一页则设置为true
private boolean isFirstPage ;
//是否为最后一页默认为false,是最后一页则设置为true
private boolean isLastPage ;
//是否有前一页,默认为false,有前一页则设置为true
private boolean hasPreviousPage ;
//是否有下一页,默认为false,有后一页则设置为true
private boolean hasNextPage ;
//导航页码数,所谓导航页码数,就是在页面进行展示的那些1.2.3.4...
//比如一共有分为两页数据的话,则将此值设置为2
private int navigatePages;
//所有导航页号,一共有两页的话则为[1,2]
private int[] navigatepageNums;
//导航条上的第一页页码值
private int navigateFirstPage;
//导航条上的最后一页页码值
private int navigateLastPage;
代码
后端
//查询所有商品
@RequestMapping("/findAll")
/*
* 参数:
* pageNum: 当前页
* pageSize 每页数量
* required=true表示前端必须传参数。
required=false表示前端不传参数的时候,会将参数置为null。因此假如参数是int这种不能赋值为null的类型,就可能会报错。
defaultValue 默认值
navigatePages //导航页码数,所谓导航页码数,就是在页面进行展示的那些1.2.3.4...
//比如一共有分为两页数据的话,则将此值设置为2
* */
public String findProducts(@RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
@RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize,
Model model) {
PageHelper.startPage(pageNum, pageSize); //开启分页
List<Product> list = productService.findAll();
model.addAttribute("list", list);
PageInfo<Product> pageInfo = new PageInfo<>(list, 5);
model.addAttribute("pro", pageInfo);
return "product";
}
前端(thymeleaf)
<div class="as one">
<ul class="pagination pagination-lg" style="align-content: center">
<li class="page-item"><a class="btn btn-dark" href="/findAll?pageNum=${products.pageNum-1}"
th:href="@{'findAll?pageNum='+${info.pageNum-1}}">Previous</a></li>
<div th:each="num : ${info.navigatepageNums}">
<li class="page-item">
<a class="btn btn-light" href="${pageContext.request.contextPath}/findAll?pageNum=${num}"
th:href="@{'findAll?pageNum='+${num}}" th:text="${num}">${num}</a>
</li>
</div>
<li class="page-item"><a class="btn btn-dark"
href="${pageContext.request.contextPath}/findAll?pageNum=${products.pageNum+1}"
th:href="@{'findAll?pageNum='+${info.pageNum+1}}">Next</a></li>
</ul>
<div class="col-md-6">
当前第<span class="text-primary" th:text="${info.pageNum}">${pro.pageNum}</span>页,共有<span class="text-primary"
th:text="${info.pages}">${products.pages}</span>页,总计<span
class="text-primary" th:text="${info.total}">${products.total}</span>条记录
</div>
</div>
版权声明:本文为D488519971原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。