前后端分页是一件相对困难的事情,因此我会将分页的详细实现方法分享给大家。 2.后端Java代码实现
2.1 controller层代码
@RequestMapping(value = "/getAlltoUser") private String getList1(Model model,@RequestParam(required = false, defaultValue = "1", value = "pageNum") Integer pageNum, @RequestParam(defaultValue = "8", value = "pageSize") Integer pageSize){ // 为了程序的严谨性,判断非空: if (pageNum == null) { pageNum = 1; // 设置默认当前页 } if (pageNum <= 0) { pageNum = 1; } if (pageSize == null) { pageSize = 8; // 设置默认每页显示的数据数 } PageHelper.startPage(pageNum, pageSize); List<Commodity> page = commodityServiceImp.getAllCommodity(); // 使用PageInfo包装查询后的结果,5是连续显示的条数,结果list类型是Page<E> PageInfo<Commodity> pageInfo = new PageInfo<Commodity>(page, pageSize); // 清理 ThreadLocal 存储的分页参数,保证线程安全 PageHelper.clearPage(); model.addAttribute("pageInfo", pageInfo); return "front/AllCommodity"; }2.2 service层代码
public List<Commodity>getAllCommodity() { List<Commodity> commodities = commodityMapper.selectAll(); return commodities; }不论是在网站的前台页面和网站的管理员后台表格,这个前端分页都可以实现分页查询。 需要注意的是 1.href中的方法名需要变换为你自己的; 2.这个分页前端的class="modal-footer no-margin-top"用的是bootstrap.min.css, 这个前端框架网上还是比较多的,大家可以看其他人的。
<!--显示分页信息--> <div class="modal-footer no-margin-top"> <div class="col-md-6">当前第 [${pageInfo.pageNum}]页,共 [${pageInfo.pages}] 页.一共 [${pageInfo.total}]条记录</div> <ul class="pagination pull-left no-margin" > <li th:if="${pageInfo.hasPreviousPage}"><a href="getAlltoUser.do?pageNum=1">首页</a></li> <li class="prev" th:if="${pageInfo.hasPreviousPage}"><a href="getAlltoUser.do?pageNum=${pageInfo.prePage}"> 上一页 </a></li> <li class="next" th:if="${pageInfo.hasNextPage}"><a href="getAlltoUser.do?pageNum=${pageInfo.nextPage}"> 下一页 </a></li> <li><a href="getAlltoUser.do?pageNum=${pageInfo.pages}">尾页</a></li> </ul> </div>本次的前后端分页查询,后端使用了PageHelper插件,前端使用了bootstrap框架,用这两个相结合实现了前后端分页。 大家有困惑的地方可以联系我,大家共同探讨,共同进步。
QQ:2151995010 微信公众号:代码之家/源码客栈