javaweb开发中实现网页信息分页显示
导入相关jar包
在项目工程pom.xml文件中加入:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
告诉mybatis要用pagehelper 添加到sqlsessionfactroy,将page(页面序号)和size(每页的记录数)参数传进去;
找到aside.jsp文件里面跳转到user-list的调用并改为:
<a
href="${pageContext.request.contextPath}/user/findAll.do?page=1&size=2">
<iclass="fa fa-circle-o"></i> 用户管理
</a>
在service层,在执行具体sql之前 ,将page和size参数传入PageHelper.startPage(page,size);
public List<UserInfo> findAll(int page,int size){
PageHelper.startPage(page,size);//告诉是第几页,查询多少条
return userDao.findAll();
}
在controler 层 把得到的list装到pageinfo里面,并将其传入新页面
@RequestMapping("/findAll.do")
public ModelAndView findAll(@RequestParam(defaultValue="1")int page, @RequestParam(defaultValue="4")int size){
List<UserInfo> infos=userService.findAll(page,size);
PageInfo pageInfo=new PageInfo(infos);
ModelAndView mv=new ModelAndView();
mv.addObject("pageInfo",pageInfo);
mv.setViewName("user-list");
return mv;
}
找到user-list.jsp文件里面的box-body的内容并替换为:
<div class="box-tools pull-right">
<ul class="pagination">
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=1&size=4" aria-label="Previous">首页</a></li>
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pageNum-1}&size=4">上一页</a></li>
<c:forEach begin="1" end="${pageInfo.pages}" var="pageNum">
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pageNum}&size=4">${pageNum}</a></li>
</c:forEach>
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pageNum+1}&size=4">下一页</a></li>
<li><a href="${pageContext.request.contextPath}/user/findAll.do?page=${pageInfo.pages}&size=4" aria-label="Next">尾页</a></li>
</ul>
</div>
运行结果截图: