分页
1、Controller是起点
@RequestMapping("courseListByPage")
public String courseListByPage(PageBean<Course> pageBean,Model model){
Message message = new Message();
//第一次进来时,没有任何数据提交个pageBean对象,但是该对象已经实例化,这时参数为null
if(pageBean.getNowPage()==null) {
pageBean.setNowPage(1);
}
pageBean.setPageRow(5);
//获得数据表中的所有用户信息
List<Course> courseList = courseService.selectByPage(pageBean);
pageBean.setList(courseList);
int countRow = courseService.countAll(pageBean);
pageBean.setCountRow(countRow);
int countPage = pageBean.getCountRow()%pageBean.getPageRow()==0?pageBean.getCountRow()/pageBean.getPageRow():pageBean.getCountRow()/pageBean.getPageRow()+1;
System.out.println(countPage+"-----------0000______________________---");
pageBean.setCountPage(countPage);
model.addAttribute("pageBean", pageBean);
System.out.println(pageBean+"-------------------");
System.out.println(countRow);
return "course/courseListByPage";
}
2、pageBean
public class PageBean<T> {
private Integer nowPage;
private Integer pageRow;
private Integer countRow;
private Integer countPage;
private List<T> list;
private String queryVal;
}
3、mapper.xml
<select id="countAll" resultType="int" parameterType="pageBean">
select count(*) from course
<where>
<if test="queryVal!=null">
courseName like CONCAT('%',#{queryVal},'%')
</if>
</where>
</select>
<select id="selectByPage" parameterType="pageBean" resultType="course">
select * from course
<!-- 模糊查询条件 -->
<where>
<if test="queryVal!=null">
courseName like CONCAT('%',#{queryVal},'%')
</if>
</where>
<!-- limit 起始位置,每页行数 -->
order by courseID desc
limit ${(nowPage-1)*pageRow},${pageRow}
</select>
4、courseListByPage页面
<tbody>
<c:forEach items="${pageBean.list}" var="course" varStatus="i">
<tr class="animated bounceInRight">
<td>${i.count}</td>
<td>${course.coursename}</td>
<td>${course.coursetype}</td>
<td>${course.coursescore} (学分)</td>
<td>
<button type="button" onclick="location.href='${ItemPath}/course/courseEdit?courseid='+${course.courseid}" class="btn btn-primary btn-xs"><i class=" glyphicon glyphicon-pencil"></i></button>
<button type="button" onclick="location.href='${ItemPath}/course/courseDel?courseid='+${course.courseid}" class="btn btn-danger btn-xs"><i class=" glyphicon glyphicon-remove"></i></button>
</td>
</tr>
</c:forEach>
<tr>
<td colspan="6" align="center" class="animated bounceInDown">
<ul class="pagination">
<li ><a href="${ItemPath}/course/courseListByPage?nowPage=${pageBean.nowPage==1?1:pageBean.nowPage-1}">上一页</a></li>
<c:forEach begin="1" end="${pageBean.countPage}" var="num" >
<li ><span><a href="${ItemPath}/course/courseListByPage?nowPage=${num}">${num}</a></span></li>
</c:forEach>
<li ><a href="${ItemPath}/course/courseListByPage?nowPage=${pageBean.nowPage==pageBean.countPage?pageBean.nowPage:pageBean.nowPage+1}">下一页</a></li>
</ul>
</td>
</tr>
</tbody>