private Integer pagenum; // 页码,当前页
private Integer pagesize; // 一页显示几条数据
private Integer total; // 数据总量
private Integer pages; // 总页数
private List<T> lists; // 当前页数据
private String url; // 拼接的url地址
从页面获取到pagenum(有需要也传pagesize),然后传递给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域中,跳转到相应页面
service定义私有属性sqlsession
对应方法中实例化sqlSession,实例化后获取对应dao层的类对象,最后调用相应的方法
sqlSession = DBUtil.getSqlSession();
AttendanceDao mapper = sqlSession.getMapper(AttendanceDao.class);
attendances = mapper.findAll(classname, uname, starttime, endtime);
记得在finally中关流
DBUtil.close();
<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>
原文:https://www.cnblogs.com/zjxz/p/14670671.html