1.导入jar包
首先我们要导入我们分页所需要用到的jar包,找到ssm_parent目录下的pop.xml文件中
在文件中写入如下代码
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
2.修改aside.jsp文件
因为前台要传入数据,即页面页数的信息,所以要修改jsp文件
在aside.jsp文件中,findAll.do后面添加代码,获取页面信息
3.修改方法
之前我们在UserController类中写的findAll()方法是无参的,因为要实现分页功能,所以这次我们要传递两个参数page(页数)和size(条数)
@RequestMapping("findAll.do")
//注意,如果调用了findAll函数但没有传参,就会使用默认的page值和size值
public ModelAndView findAll(@RequestParam(defaultValue="1") int page,@RequestParam(defaultValue="4")int size)
{
ModelAndView mv=new ModelAndView();
List<UserInfo> infos=userService.findAll(page,size);
PageInfo pageInfo=new PageInfo(infos);
mv.addObject("pageInfo",pageInfo);
mv.setViewName("user-list");
return mv;
}
相应的IUserService接口与UserService类中的findAll()方法也要修改
package com.zhongruan.service;
import com.zhongruan.bean.UserInfo;
import java.util.List;
public interface IUserService {
public List<UserInfo> findAll(int page,int size);
public boolean doLogin(UserInfo userInfo);
public boolean addUserInfo(UserInfo userInfo);
public boolean updateUserInfo(UserInfo userInfo);
public boolean deleteUserInfoById(int id);
}
//UserService类
@Override
public List<UserInfo> findAll(int page,int size)
{
PageHelper.startPage(page,size);
return userDao.findAll();
}
在查询之前只需要调用传入的页面,以及每页的大小
startPage后面紧跟的这个查询就是一个分页的查询
4.修改user-list.jsp文件
下面这个地方要改
为了实现“首页”,“上一页”等功能,下面这个部分也要改
</div>
<!-- /.box-body -->
<div class="box-tools pull-right">
<ul class="pagination">
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=1&size=5" aria-label="Previous">首页</a></li>
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pageNum-1}&size=5">上一页</a></li>
<c:forEach begin="1" end="${pageInfo.pages}" var="pageNum">
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageNum}&size=5">${pageNum}</a> </li>
</c:forEach>
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pageNum+1}&size=5">下一页</a></li>
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pages}&size=5" aria-label="Next">尾页</a></li>
</ul>
</div>
</div>
5.修改applicationContext.xml文件
在applicationContext.xml文件中添加如下代码
<property name="plugins">
<array>
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<props>
<prop key="helperDialect">mysql</prop>
<prop key="reasonable">true</prop>
</props>
</property>
</bean>
</array>
</property>
这样就好了,我们来看一下分页结果
点击下一页
分页成功