首页 / JAVA / java分页功能代码
java分页功能代码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java分页功能代码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7246字,纯文字阅读大概需要11分钟。
内容图文
import java.util.ArrayList; import java.util.List; /** * * @author cheney * * @date Aug 31, 2012 */ public class PageModel<T> { privateint page = 1; // 当前页publicint totalPages = 0; // 总页数privateint pageRecorders;// 每页5条数据privateint totalRows = 0; // 总数据数privateint pageStartRow = 0;// 每页的起始数privateint pageEndRow = 0; // 每页显示数据的终止数privateboolean hasNextPage = false; // 是否有下一页privateboolean hasPreviousPage = false; // 是否有前一页private List<T> list; /** * * @param list * @param pageRecorders */public PageModel(List<T> list, int pageRecorders) { init(list, pageRecorders);// 通过对象集,记录总数划分 } /***//** * 初始化list,并告之该list每页的记录数 * * @param list * @param pageRecorders */publicvoid init(List<T> list, int pageRecorders) { this.pageRecorders = pageRecorders; this.list = list; totalRows = list.size(); hasPreviousPage = false; if ((totalRows % pageRecorders) == 0) { totalPages = totalRows / pageRecorders; } else { totalPages = totalRows / pageRecorders + 1; } if (page >= totalPages) { hasNextPage = false; } else { hasNextPage = true; } if (totalRows < pageRecorders) { this.pageStartRow = 0; this.pageEndRow = totalRows; } else { this.pageStartRow = 0; this.pageEndRow = pageRecorders; } } public String displayForPage(String method) { StringBuffer sb = new StringBuffer(); sb.append("<div class=\"w-page\"><label class=\"fr\">"); // 判断是否有上一页if (this.isHasPreviousPage()) { sb.append("<a href=\"javascript:void(0)\" onclick=\"" + method + "(‘" + String.valueOf(this.getPage() - 1) + "‘);return false;\">上一页</a>"); } else { sb.append("<span class=\"disabled\">上一页</span>"); } // 中间显示for (int i = 1; i <= this.getTotalPages(); i++) { String spanClzz = "<a href=\"javascript:void(0)\" onclick=\"" + method + "(‘" + String.valueOf(i) + "‘);return false;\">" + i + "</a>"; if (this.page == i) { spanClzz = "<span class=‘current‘>" + i + "</span>"; } sb.append(spanClzz); // 当大于9页数的时候才进行分页显示if (this.getTotalPages() - 2 > 7) { if (i == 5) { i = this.getTotalPages() - 2; sb.append("..."); } } } // 判断是否有下一页if (this.isHasNextPage()) { sb.append("<a href=\"javascript:void(0)\" onclick=\"" + method + "(‘" + String.valueOf(this.getPage() + 1) + "‘);return false;\">下一页</a>"); } else { sb.append("<span class=\"disabled\">下一页</span>"); } sb.append("</div>"); return sb.toString(); } public String displayForPage() { StringBuffer sb = new StringBuffer(); sb.append("<div class=\"w-page\"><label class=\"fr\">"); // 判断是否有上一页if (this.isHasPreviousPage()) { sb .append("<a href=\"javascript:void(0)\" onclick=\"findDistResult(‘" + String.valueOf(this.getPage() - 1) + "‘);return false;\">上一页</a>"); } else { sb.append("<span class=\"disabled\">上一页</span>"); } // 中间显示for (int i = 1; i <= this.getTotalPages(); i++) { String spanClzz = "<a href=\"javascript:void(0)\" onclick=\"findDistResult(‘" + String.valueOf(i) + "‘);return false;\">" + i + "</a>"; if (this.page == i) { spanClzz = "<span class=‘current‘>" + i + "</span>"; } sb.append(spanClzz); // 当大于9页数的时候才进行分页显示if (this.getTotalPages() - 2 > 7) { if (i == 5) { i = this.getTotalPages() - 2; sb.append("..."); } } } // 判断是否有下一页if (this.isHasNextPage()) { sb .append("<a href=\"javascript:void(0)\" onclick=\"findDistResult(‘" + String.valueOf(this.getPage() + 1) + "‘);return false;\">下一页</a>"); } else { sb.append("<span class=\"disabled\">下一页</span>"); } sb.append("</div>"); return sb.toString(); } // 判断要不要分页publicboolean isNext() { return list.size() > 5; } publicvoid setHasPreviousPage(boolean hasPreviousPage) { this.hasPreviousPage = hasPreviousPage; } /** * * @return*/public List<T> getNextPage() { page = page + 1; disposePage(); return getObjects(page); } /** * 处理分页 */privatevoid disposePage() { if (page == 0) { page = 1; } if ((page - 1) > 0) { hasPreviousPage = true; } else { hasPreviousPage = false; } if (page >= totalPages) { hasNextPage = false; } else { hasNextPage = true; } } /** * 上一页 * * @return*/public List<T> getPreviousPage() { page = page - 1; if ((page - 1) > 0) { hasPreviousPage = true; } else { hasPreviousPage = false; } if (page >= totalPages) { hasNextPage = false; } else { hasNextPage = true; } return getObjects(page); } /** * 获取第几页的内容 * * @param page * @return*/public List<T> getObjects(int page) { if (page == 0) { this.setPage(1); page = 1; } else { this.setPage(page); } this.disposePage(); if (page * pageRecorders < totalRows) {// 判断是否为最后一页 pageEndRow = page * pageRecorders; pageStartRow = pageEndRow - pageRecorders; } else { pageEndRow = totalRows; pageStartRow = pageRecorders * (totalPages - 1); } List<T> objects = null; if (!list.isEmpty()) { objects = list.subList(pageStartRow, pageEndRow); } return objects; } /** * 第一页 * * @return*/public List<T> getFistPage() { if (this.isNext()) { return list.subList(0, pageRecorders); } else { return list; } } /** * @return the page */publicint getPage() { return page; } /** * @param page * the page to set */publicvoid setPage(int page) { this.page = page; } /** * @return the totalPages */publicint getTotalPages() { return totalPages; } /** * @param totalPages * the totalPages to set */publicvoid setTotalPages(int totalPages) { this.totalPages = totalPages; } /** * @return the pageRecorders */publicint getPageRecorders() { return pageRecorders; } /** * @param pageRecorders * the pageRecorders to set */publicvoid setPageRecorders(int pageRecorders) { this.pageRecorders = pageRecorders; } /** * @return the totalRows */publicint getTotalRows() { return totalRows; } /** * @param totalRows * the totalRows to set */publicvoid setTotalRows(int totalRows) { this.totalRows = totalRows; } /** * @return the pageStartRow */publicint getPageStartRow() { return pageStartRow; } /** * @param pageStartRow * the pageStartRow to set */publicvoid setPageStartRow(int pageStartRow) { this.pageStartRow = pageStartRow; } /** * @return the pageEndRow */publicint getPageEndRow() { return pageEndRow; } /** * @param pageEndRow * the pageEndRow to set */publicvoid setPageEndRow(int pageEndRow) { this.pageEndRow = pageEndRow; } /** * @return the hasNextPage */publicboolean isHasNextPage() { return hasNextPage; } /** * @param hasNextPage * the hasNextPage to set */publicvoid setHasNextPage(boolean hasNextPage) { this.hasNextPage = hasNextPage; } /** * @return the list */public List<T> getList() { return list; } /** * @param list * the list to set */publicvoid setList(List<T> list) { this.list = list; } /** * @return the hasPreviousPage */publicboolean isHasPreviousPage() { return hasPreviousPage; } /* * * @param args */publicstaticvoid main(String[] args) { List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); list.add("e"); list.add("f"); list.add("g"); list.add("h"); list.add("h"); list.add("i"); list.add("j"); System.out.println(list.size()); PageModel<String> pm = new PageModel<String>(list, 3);// 每页显示条数 pm.getObjects(1); System.out.println(pm.displayForPage("disResult")); } }
原文:http://www.cnblogs.com/zjfjava/p/6616109.html
内容总结
以上是互联网集市为您收集整理的java分页功能代码全部内容,希望文章能够帮你解决java分页功能代码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。