Java分页工具类PageBean


分页工具类PageBean

private Integer pagenum; // 页码,当前页
private Integer pagesize; // 一页显示几条数据
private Integer total; // 数据总量
private Integer pages; // 总页数
private List lists; // 当前页数据
private String url; // 拼接的url地址

1、参数获取

从页面获取到pagenum(有需要也传pagesize),然后传递给servlet

2、Servlet

获取jsp页面传过来的值,然后判断是否为空,如果为空,则给一个初始值pagenum=1,pagesize=2,然后调用Service的方法,从数据库获取数据,再传回来,在servlet给pageBean赋值,lists参数的值为获取到的数据集合

url变量的值:

  1. 获取页面传过来的原始url,

  2. 然后获取queryString

  3. 先将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:获得问号?后的所有参数

  4. 判断拼接后的url中是否含有&pagenum,如果有则将这一段去除,用subString留下剩下的字符串。

    if (url.indexOf("&pagenum") > -1) {
    	url = url.substring(0, url.indexOf("&pagenum"));
    	System.out.println("截取后的url = " + url);
    }
    
  5. 将url字符串对象setUrl()中

  6. 将pageBean对象设置到Attribute域中,跳转到相应页面

3、service

  1. service定义私有属性sqlsession

  2. 对应方法中实例化sqlSession,实例化后获取对应dao层的类对象,最后调用相应的方法

    sqlSession = DBUtil.getSqlSession();
    AttendanceDao mapper = sqlSession.getMapper(AttendanceDao.class);
    attendances = mapper.findAll(classname, uname, starttime, endtime);
    
  3. 记得在finally中关流

    DBUtil.close();
    

4、jsp页面


第${pb.pagenum}页/每页${pb.pagesize}条记录/共${pb.pages}页/共${pb.total}条记录