PageHelper分页

参数

//当前页
 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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值