作者:手机用户2502917943 | 来源:互联网 | 2023-07-06 09:00
因为项目需求的变动。现在不能用ajax来显示内容了,所以我最爱的jquer_pagination就没办法用了。无奈之下。我仿照jquery_pagination写了一个html的生成类,希望
因为项目需求的变动。现在不能用ajax来显示内容了,所以我最爱的jquer_pagination就没办法用了。无奈之下。我仿照jquery_pagination写了一个html的生成类,希望能帮助到需要的人。当然还有那些会写但是懒得写的人。哈哈!
这个需要的CSS文件就是jquery_pagination里面的那个CSS。也可以自己改写程序和CSS文件。
/** * @author Xiao * @time 2012-5-4 9:28 * @description 网站前台用的分页辅助类 */public class PaginationUtil { public static void main(String[] args) { for (int i = 1; i <= 20; i++) { System.out.println(getPaginationHtml(600, 30, i, 2, 5, "/xxx/ddd/{page}/sss")); } } /** * 接收参数,生成分页的静态HTML字符串。 * @param allTotal 所有的页面数 * @param currentRows 当前页面显示数 * @param currentPage 当前页面 * @param edgeEntries 边缘页数 * @param displayEntries 主体页数 * @param link_to 链接(需要加{page}才能显示连接的页码) * @return 分页的html字符串 */ public static String getPaginationHtml(Integer allTotal,Integer currentRows,Integer currentPage,Integer edgeEntries,Integer displayEntries,String link_to){ StringBuffer sb = new StringBuffer(); //获取总页码 Integer total = 0; if(allTotal % currentRows > 0){ total = allTotal / currentRows + 1; }else{ total = allTotal / currentRows; } //判断如果选中页码大于总页码。则显示总页码数 if(total "); //上一页 if(currentPage == 1){ sb.append("上一页"); }else{ linkStr = link_to.replace("{page}", (currentPage - 1) + ""); sb.append(""); } //判断总页码是否大于需显示的页码数 if((edgeEntries*2) + displayEntries > total){ //显示数大于总页数 for (int i = 1; i <= total; i++) { if(i == currentPage){ sb.append("").append(i).append(""); }else{ linkStr = link_to.replace("{page}", i+""); sb.append("" + i + ""); } } }else if(currentPage <= 6){ //页码小于或者等于6时 Integer currentTotal = 0; if(currentPage <5){ currentTotal = 5; }else{ currentTotal = currentPage+2; } for (int i = 1; i <= currentTotal; i++) { if(i == currentPage){ sb.append("").append(i).append(""); }else{ linkStr = link_to.replace("{page}", i+""); sb.append("" + i + ""); } } sb.append("..."); linkStr = link_to.replace("{page}", (total - 1) + ""); sb.append("").append((total - 1)).append(""); linkStr = link_to.replace("{page}", total + ""); sb.append("").append(total).append(""); }else if((total - 4) <= currentPage){ linkStr = link_to.replace("{page}", "1"); sb.append("1"); linkStr = link_to.replace("{page}", "2"); sb.append("2"); sb.append("..."); Integer currentTotal = 0; if((total - 1) > currentPage){ currentTotal = currentPage - 3; }else{ currentTotal = total - 4; } for (int i = currentTotal; i <= total; i++) { if(i == currentPage){ sb.append("").append(i).append(""); }else{ linkStr = link_to.replace("{page}", i+""); sb.append("").append(i).append(""); } } }else{ linkStr = link_to.replace("{page}", "1"); sb.append("1"); linkStr = link_to.replace("{page}", "2"); sb.append("2"); sb.append("..."); linkStr = link_to.replace("{page}", (currentPage - 3) + ""); sb.append("").append((currentPage - 3)).append(""); linkStr = link_to.replace("{page}", (currentPage - 2) + ""); sb.append("").append((currentPage - 2)).append(""); linkStr = link_to.replace("{page}", (currentPage - 1) + ""); sb.append("").append((currentPage - 1)).append(""); sb.append("").append(currentPage).append(""); linkStr = link_to.replace("{page}", (currentPage + 1) + ""); sb.append("").append((currentPage + 1)).append(""); linkStr = link_to.replace("{page}", (currentPage + 2) + ""); sb.append("").append((currentPage + 2)).append(""); sb.append("..."); linkStr = link_to.replace("{page}", (total - 1) + ""); sb.append("").append((total - 1)).append(""); linkStr = link_to.replace("{page}", total + ""); sb.append("").append(total).append(""); } //下一页 if(currentPage == total){ sb.append("下一页"); }else{ linkStr = link_to.replace("{page}", (currentPage + 1) + ""); sb.append(""); } sb.append(" 到第"); sb.append("
"); sb.append("
共 ").append(allTotal).append(", ").append(total).append("页
"); return sb.toString(); }}