首先引用一个写好的翻页模板工具类
- import java.util.List;
- /*
- * 翻页模板工具类
- *
- * */
- public final class PageModel<T> {
- private int currentPage;// 当前页
- private int pageSize;// 每页显示条数
- private int totalPage;// 总页数
- private int totalRecord;// 总记录数
- private List<T> dataList;// 分页数据
- private PageModel() {
- }
- /*
- * 初始化PageModel实例
- */
- private PageModel(final int pageSize, final String page, final int totalRecord) {
- // 初始化每页显示条数
- this.pageSize = pageSize;
- // 设置总记录数
- this.totalRecord = totalRecord;
- // 初始化总页数
- setTotalPage();
- // 初始化当前页
- setCurrentPage(page);
- }
- /*
- * 外界获得PageModel实例
- */
- public static PageModel newPageModel(final int pageSize, final String page,
- final int totalRecord) {
- return new PageModel(pageSize, page, totalRecord);
- }
- // 设置当前请求页
- private void setCurrentPage(String page) {
- try {
- currentPage = Integer.parseInt(page);
- } catch (java.lang.NumberFormatException e) {
- // 这里异常不做处理,当前页默认为1
- currentPage = 1;
- }
- // 如果当前页小于第一页时,当前页指定到首页
- if (currentPage < 1) {
- currentPage = 1;
- }
- if (currentPage > totalPage) {
- currentPage = totalPage;
- }
- }
- private void setTotalPage() {
- if (totalRecord % pageSize == 0) {
- totalPage = totalRecord / pageSize;
- } else {
- totalPage = totalRecord / pageSize + 1;
- }
- }
- /*
- * 获得当前页
- */
- public int getCurrentPage() {
- return currentPage;
- }
- /*
- * 获得总页数
- */
- public int getTotalPage() {
- return totalPage;
- }
- /*
- * 获得开始行数
- */
- public int getStartRow() {
- return (currentPage - 1) * pageSize;
- }
- /*
- * 获得结束行
- */
- public int getEndRow() {
- return currentPage * pageSize;
- }