用layui做分页你会发现少了很多html和js代码,只要在table渲染代码块把page设置成true就行。
不过这里也有个小问题。当你表头有搜索框的时候,你会发现在不同页搜索,在后台获取page的值是对应页的,而不会是page=1。
如果当你查询的内容 “<” pageSize * (page-1) 时,那么当前页是没有数据的,这显然是不合理的,所有就需要把前台传过去的 page 处理一下。我粗略的写了个 page 工具类:
public class PageUtil {
public static Integer getPage(Integer page, Integer pageSize, Integer count) {
// 商数 判断条件需用
int quotient = count / pageSize; // count:根据条件从数据库获取的条数
// 余数 判断条件需用
int remainder = count % pageSize;
int total = page * pageSize;
if (total >= count) {
if (quotient <= 0) { // 根据条件获取的数据不足一页
page = 1;
} else {
if (remainder > 0) { // 根据条件获取的数据 > n*pageSize 余数为 remainder
page = quotient + 1;
} else page = quotient;// 根据条件获取的数据 = n*pageSize 余数为零
}
}
return page;
}
}
效果如下:
点击搜索按钮
可以看到传到后台page值为 5 ,经过 PageUtil 处理后结果显示正常!
版权声明:本文为shunyache3481原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。