分页方式 上一页 [1][2][3][4]...[55]下一页

JavaMan_KA 2011-06-14 05:38:22
从网上找了一个关于“上一页 [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("");

}

}

}




...全文
208 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
司机 2011-06-16
  • 打赏
  • 举报
回复
标记mark
uastation 2011-06-14
  • 打赏
  • 举报
回复
好~收藏~~

50,531

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧