直接把代码贴出来以后方便看。
page = new Page((pageNum-1)*pageSize,pageSize,list);
调用 传入参数:pageNum pageSize list
/** * 分页对象. 包含当前页数据及分页信息如总记录数. * */public class Pageimplements Serializable { /** * */ private static final long serialVersionUID = 7066551090434228986L; private static int DEFAULT_PAGE_SIZE = 10; private int pageSize = DEFAULT_PAGE_SIZE; // 每页的记录数 private long start = 0L; // 当前页第一条数据在List中的位置,从0开始 private List result; // 当前页中存放的记录,类型一般为List private long totalCount; // 总记录数 private String innerHtml; //分页 /** * 构造方法,只构造空页. */ public Page() { this(0, 0, DEFAULT_PAGE_SIZE, new ArrayList ()); } /** * 默认构造方法. * * @param start 本页数据在数据库中的起始位置 * @param totalSize 数据库中总记录条数 * @param pageSize 本页容量 * @param result 本页包含的数据 */ public Page(long start, long totalSize, int pageSize, List result) { this.pageSize = pageSize; this.start = start; this.totalCount = totalSize; this.result = result; this.toHtmlString(); } /** * 构造方法 * @param start 本页数据在数据库中的起始位置 * @param pageSize 本页容量 * @param total 所有数据 */ public Page(long start, int pageSize, List total) { this.pageSize = pageSize; this.start = start; this.totalCount = total.size(); this.result = new ArrayList (); for(int i=(int)start; i getResult() { return result; } /** * 设置记录. */ public void setResult(List result) { this.result = result; } /** * 取该页当前页码,页码从1开始. */ public long getCurrentPageNo() { if(pageSize == 0) return 0; return start / pageSize + 1; } /** * 该页是否有下一页. */ public boolean hasNextPage() { return this.getCurrentPageNo() < this.getTotalPageCount() ; } /** * 该页是否有上一页. */ public boolean hasPreviousPage() { return this.getCurrentPageNo() > 1; } /** * 获取任一页第一条数据在数据集的位置. * * @see #getStartOfPage(int,int) */ public long getStartOfPage(int pageNo) { return getStartOfPage(pageNo, this.pageSize); } /** * 获取任一页第一条数据在数据集的位置. * * @param pageNo 从1开始的页号 * @param pageSize 每页记录条数 * @return 该页第一条数据 */ public static long getStartOfPage(int pageNo, int pageSize) { return (pageNo - 1) * pageSize; } public void toHtmlString(){ if (this.getTotalPageCount() < 2) { this.innerHtml = ""; }else{ StringBuffer htmlStr = new StringBuffer(1024); htmlStr.append(" 共").append(this.getTotalCount()); htmlStr.append("条记录,每页").append(this.pageSize); htmlStr.append("条,共").append(this.getTotalPageCount()); htmlStr.append("页,当前第").append(getCurrentPageNo()).append("页 "); htmlStr.append(" 1){ htmlStr.append("herf='#' οnclick='javascript:getPage(1);'"); } htmlStr.append(">首页 "); htmlStr.append(" 上一页 "); htmlStr.append(" 下一页 "); htmlStr.append(" 尾页 "); this.innerHtml = htmlStr.toString(); htmlStr = null; } } public String getInnerHtml() { return innerHtml; } public void setInnerHtml(String innerHtml) { this.innerHtml = innerHtml; }最重要的是只需要new 一个page 这样把list传过去。 把pagesize ,pagenum传过去然后就可以直接得到分页结果了 page = new Page ((pageNum-1)*pageSize,pageSize,list); page.innerHTML 共64条记录,每页10条,共7页,当前第1页 首页 上一页 下一页 尾页