jpa的分页实现

本文介绍了一个使用Spring MVC实现的分页查询功能,其中包括了后端控制器处理方法与前端页面的分页导航链接生成。通过PageRequest获取当前页码和每页显示数量,再调用repository查询数据,并将数据及总页数等信息传递给视图。
 @RequestMapping(value = "/show")
    public ModelAndView show( int page){
        ModelAndView mv = new ModelAndView();
        int size=8;
        PageRequest pageable=PageRequest.of(page,size);
        Page<Management> pageObject=managementRepository.findAll(pageable);
        //getTotalPages()返回总的页数
        int totalPage=pageObject.getTotalPages();
        //getTotalElements()返回总数
        long count=pageObject.getTotalElements();
        List<Management> managements=pageObject.getContent();
        mv.addObject("managements",managements);
        mv.addObject("count",count);
        mv.addObject("totalPage",totalPage);
        mv.addObject("page",page);
        mv.setViewName("/ShowManagement.btl");
        return mv;

    }

前端代码:

<div class="dataTables_paginate paging_simple_numbers" id="datatable-responsive_paginate">
<ul class="pagination">
<% if(page==0) { %>
<li class="paginate_button previous disabled" id="datatable-responsive_previous">
<a href="#" aria-controls="datatable-responsive" data-dt-idx="0"
tabindex="0">前一页</a></li>
<% }else{ %>
<li class="paginate_button previous " id="datatable-responsive_previous1">
<a href="/management/show?page=${page-1}" aria-controls="datatable-responsive" data-dt-idx="0"
tabindex="0">前一页</a></li>
<% } %>

<% for (var i=1;i<=totalPage;i++) { %>
<li class="paginate_button " ><a href="/management/show?page= ${i-1}"
aria-controls="datatable-responsive"
tabindex="0">${i}</a></li>
<% }
%>
<% if(page==totalPage-1) { %>
<li class="paginate_button previous disabled" id="datatable-responsive_previous2">
<a href="#" aria-controls="datatable-responsive" data-dt-idx="0"
tabindex="0">后一页</a></li>
<% }else{ %>
<li class="paginate_button next" id="datatable-responsive_next"><a href="/management/show?page=${page+1}"
aria-controls="datatable-responsive"
tabindex="0">后一页</a>
</li>
<% } %>
</ul>
</div>

效果:

如果完成了修改员工信息和员工离职的操作时无法回到该信息的页数。

前端直接打开的时候要输入?page=

转载于:https://www.cnblogs.com/a565810497/p/9418662.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值