注意:这里介绍的是在springBoot项目使用
- 引入依赖
<!--分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.7</version>
</dependency>
- 后端代码使用
//分页查询
PageHelper.startPage(page, 40);//page是前端传入的当前页,40是每页显示条数
StuData stuData = new StuData(name,city,school,subject,grade,telNumber,time,schoolName,onTime,offTime);//封装查询条件
List<StuData> listAll = schoolZPService.findAll(stuData);
PageInfo<StuData> pageInfo = new PageInfo<>(listAll);//分页对象
//pageInfo对象返回很多分页需要的对象,直接get可取
long total = pageInfo.getTotal();//总条数
int pageNum = pageInfo.getPageNum();//当前页
int pages = pageInfo.getPages();//总页数
//listAll是查到的所有数据集合,把把当前页,和总页数1传到前端.
model.addAttribute("listAll",listAll);
model.addAttribute("pageNum",pageNum);
model.addAttribute("pages",pages);
- 实现点击上一页,下一页,跳转指定页
效果如下:
- 在<body 标签内任意位置写一个input隐藏域,获取从后端传入的当前页,放在input标签内.
<!--隐藏域,存放从后端获取的当前页-->
<input type="hidden" th:value="${pageNum}" id="pageNum">
- 在上一页的a标签中写一个onclick()方法.js代码如下:
先从input隐藏域中获取当前页,因为我后台传过来的是String类型的,所以这里做了一下类型转换,拿当前页-1,得到一个新的页码对象,传到后端
/*点击上一页*/
function toBefore() {
var pageNum = $("#pageNum").val()
var pageInt = parseInt(pageNum);
var page = pageInt - 1;
//跳转页面的时候作为参数传到后端.
window.location = "../sys/back?page="+page;
}
在后台做一下判断,如果传过来的页码,不存在,或等于null,把传过来的page对象赋值为1,作为第一页.把String类型的page对像转成int类型。
然后衔接上面的分页代码,整个流程就是这样
跳转到指定页面实现思路:
获取输入框中用户输入的希望跳转的页码,传到后台,后台接收到以后,page对象作为当前页传到分页方法中
window.location = "../sys/back?page="+page;