分页是非常基础又重复度高的功能,不论是前台、后台、或是手机版都有分页的需求,这里介绍Pager及相关代码。
Pager是分页数据的封装,必要时需要与其他分页对象适配(PageObject、Pageable等,详见PagerUtil)
public class Pager implements Serializable {
private int totalRows = -1;
private int pageSize = 12;
private int totalPages = 1;
private int currentPage = 1;
private int pageWindow = 7;//页码窗口,配合getStartPage()和getEndPage()显示部分页码
private List elements = null;
private List others = null;//附加信息,通过位置index关联数据
private String direction = null;//排序方向:asc或desc
private String properties = null;//排序字段:id或id,create_at
}
分页参数处理:totalRows,传入总记录数可避免重复查询;pageSize,页码大小;currentPage,页码跳转
Pager pager = new Pager();
pager.setPageSize(RequestUtil.getIntParam(request, "pageSize