paginationhelper.java
来自「社区文章采用的是平板、树形自由选择的两种展示方式」· Java 代码 · 共 144 行
JAVA
144 行
/*
* Created on 2007-12-5
* Last modified on 2007-12-5
* Powered by YeQiangWei.com
*/
package com.yeqiangwei.club.util;
public class PaginationHelper {
public static int getLastpage(long total,int rows){
int lastpage = 1;
if(rows==0){
return 1;
}
if(total%rows!=0){
lastpage = (int) (total/rows + 1);
}else{
lastpage = (int) (total/rows);
}
if(lastpage<1){lastpage=1;}
return lastpage;
}
/**
*
* @param s
* @param e
* @param page
* @param rows
* @param total
* @param num
* @param maxpage
* @return
*/
public static String getPagination(String s, int page, int rows, long total, int num){
if((page<1||rows<1||total<1)||total<=rows){
return "";
}
String e = ".html";
StringBuffer sb = new StringBuffer();
int start = 1, end = num;
int pages = getLastpage(total,rows);
/* 当前页超过总页数 */
if(page > pages){
page = pages;
end = pages;
start = end - num - 1;
}
/* 当前页大于指定显示的跳转页数 */
if(page>=num){
end = page + num;
start = page - (num - 2);
if(end>pages){
end = pages;
}
}
sb.append("<div class=\"pagination\"><ul>");
sb.append("<li class=\"ppg\">");
sb.append(total);
sb.append("</li>");
sb.append("<li class=\"ppg\">");
sb.append(page);
sb.append("/");
sb.append(pages);
sb.append("</li>");
if(pages-start<num && page>num){
start = pages - (num - 2);
}
if(end >= pages){
end = pages;
start = end - num -1;
if(start<=0){
start = 1;
}
}
if(start>2){
sb.append("<li class=\"png\">");
sb.append("<a href=\"");
sb.append(s);
sb.append("1");
//sb.append("lp");
//sb.append(pages);
sb.append(e);
sb.append("\" title=\"跳转到第一页\">1...</a></li>");
}else if(start==2){
sb.append("<li>");
sb.append("<a href=\"");
sb.append(s);
sb.append("1");
//sb.append("lp");
//sb.append(pages);
sb.append(e);
sb.append("\" title=\"跳转到第一页\">1</a></li>");
}
for(int i=start; i<=end; i++){
sb.append("<li");
if(i==page){
sb.append(" class=\"pcg\">");
sb.append(i);
sb.append("</li>");
}else{
sb.append(">");
sb.append("<a href=\"");
sb.append(s);
sb.append(i);
//sb.append("lp");
//sb.append(pages);
sb.append(e);
sb.append("\"");
sb.append(">");
sb.append(i);
sb.append("</a>");
sb.append("</li>");
}
}
/* 不提供最后一页
if(end<pages){
sb.append("<li><a href=\"");
sb.append(url);
sb.append(pages);
sb.append("&lpage=");
sb.append(pages);
sb.append("\">...");
sb.append(pages);
sb.append("</a></li>");
}*/
if(page<pages){
sb.append("<li class=\"png\">");
sb.append("<a href=\"");
sb.append(s);
sb.append(page+1);
//sb.append("lp");
//sb.append(pages);
sb.append(e);
sb.append("\">");
sb.append("下一页</a></li>");
}
sb.append("</ul></div>");
return sb.toString();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?