分页方式 上一页 [1][2][3][4]...[55]下一页
从网上找了一个关于“上一页 [1][2][3][4]...[55]下一页”显示的例子,大家不妨用一用
public class Test {
public static void main(String[] args) {
int pageTotal = 20; // 总页数
int showPageCount = 6; // 要显示分页的页码数
if (showPageCount > pageTotal) {
showPageCount = pageTotal;
}
int curPage = 1; // 当前显示页
for (int z = 1; z <= pageTotal; z++) {
curPage = z; // 默认显示第一页
if (curPage < 1) {
curPage = 1; // 如果分页变量小于1,则将分页变量设为1
}
int beginPageCode = (curPage - (int) Math
.ceil((double) showPageCount / 2)) < 1 ? 1
: (curPage - (int) Math.ceil((double) showPageCount / 2));// 从第几页开始显示分页信息
int endPageCode = curPage + showPageCount / 2;// 分页信息显示到第几页
if (endPageCode > pageTotal) {
endPageCode = pageTotal;
}
System.out.println("第" + z + "页====================");
// <显示上一页
if (curPage > 1) {
System.out.print("[上一页]");
}
// 第一页控制
if (beginPageCode > 2) {
System.out.print("[1]...");
} else if (beginPageCode == 2) {
System.out.print("[1]");
}
// <显示分页码
for (int i = beginPageCode; i < endPageCode + 1; i++) {
if (i >= pageTotal)
break;
if (i != curPage) {// 如果i不等于当前页
System.out.print("[" + i + "]");
} else {
System.out.print("[_" + i + "_]");
}
}
// 最后一页控制
if (endPageCode < pageTotal - 1)
System.out.print("...[" + pageTotal + "]");
else if (pageTotal == curPage)
System.out.print("[_" + pageTotal + "_]");
else
System.out.print("[" + pageTotal + "]");
// 下-页控制
if (curPage != pageTotal) {
System.out.print("[下一页]");
}
System.out.println("");
System.out.println("");
}
}
}