Java分页工具类PageBean
分页工具类PageBean
private Integer pagenum; // 页码,当前页
private Integer pagesize; // 一页显示几条数据
private Integer total; // 数据总量
private Integer pages; // 总页数
private List<T> lists; // 当前页数据
private String url; // 拼接的url地址
1、参数获取
从页面获取到pagenum(有需要也传pagesize),然后传递给servlet
2、Servlet
获取jsp页面传过来的值,然后判断是否为空,如果为空,则给一个初始值pagenum=1,pagesize=2,然后调用Service的方法,从数据库获取数据,再传回来,在servlet给pageBean赋值,lists参数的值为获取到的数据集合
url变量的值:
-
获取页面传过来的原始url,
-
然后获取queryString
-
先将url与queryString字符串拼接
String url = request.getRequestURL() + "?"; String queryString = request.getQueryString(); System.out.println("queryString = " + queryString); if (queryString != null || "".equals(queryString)) { url += queryString; System.out.println("拼接后的url = " + url); }queryString:获得问号?后的所有参数
-
判断拼接后的url中是否含有&pagenum,如果有则将这一段去除,用subString留下剩下的字符串。
if (url.indexOf("&pagenum") > -1) { url = url.substring(0, url.indexOf("&pagenum")); System.out.println("截取后的url = " + url); } -
将url字符串对象setUrl()中
-
将pageBean对象设置到Attribute域中,跳转到相应页面
3、service
-
service定义私有属性sqlsession
-
对应方法中实例化sqlSession,实例化后获取对应dao层的类对象,最后调用相应的方法
sqlSession = DBUtil.getSqlSession(); AttendanceDao mapper = sqlSession.getMapper(AttendanceDao.class); attendances = mapper.findAll(classname, uname, starttime, endtime); -
记得在finally中关流
DBUtil.close();
4、jsp页面
<div align="center">
<a href="${pb.url}&pagenum=1"><input type="button" value="首页"></a>
<c:choose>
<c:when test="${pb.pagenum == 1}">
<input disabled type="button" value="上一页">
</c:when>
<c:otherwise>
<a href="${pb.url}&pagenum=${pb.pagenum - 1}"><input type="button" value="上一页"></a>
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${pb.pagenum == pb.pages}">
<input type="button" value="下一页" disabled>
</c:when>
<c:otherwise>
<a href="${pb.url}&pagenum=${pb.pagenum + 1}"><input type="button" value="下一页"></a>
</c:otherwise>
</c:choose>
<a href="${pb.url}&pagenum=${pb.pages}"><input type="button" value="尾页"></a><br>
第${pb.pagenum}页/每页${pb.pagesize}条记录/共${pb.pages}页/共${pb.total}条记录
</div>

浙公网安备 33010602011771号