可以移动的分页条

[code]
/**
*
* @param recordsCount int:总记录数
* @param pageSize int:每页要显示的记录数
* @param currentPage int:当前的页数
* @param url String:链接的路径
* @return String:导航条

url还可能追加参数
示例调用:

--------------------------------------------------
String str = turnPage.printTurnPageBar(100, 35, 1,
"searchshow.jsp?t=1&s1=N&s2=1&c=1");
System.out.println("str=" + str);
--------------------------------------------------
*/

public static String printTurnPageBar(int recordsCount, int pageSize,
int currentPage, String url) {
String barStr = "";
int index = url.indexOf("?");
if (recordsCount <= pageSize) {
if (recordsCount == 0) {
barStr = "没有相关记录";
} else {
barStr = "[1]";
}
return barStr;
}
int pageCount = recordsCount % pageSize == 0 ?
recordsCount / pageSize :
recordsCount / pageSize + 1;
int begin = 0, end = 0;
boolean b1 = false;
/*
当总页数小于10页时
*/
if (pageCount <= 10) {
begin = 1;
end = pageCount;
} else {
if (currentPage == 1) {
begin = 1;
end = 10;
} else {
if (index == -1) {
barStr = "<a href=\"" + url + "?page=" +
(currentPage - 1) + "\">上一页</a> ";
} else {
barStr = "<a href=\"" + url + "&page=" +
(currentPage - 1) + "\">上一页</a> ";
}

if (currentPage - 5 > 1) {
if (currentPage + 4 <= pageCount) {
begin = currentPage - 5;
end = currentPage + 4;
b1 = true;
} else {
end = pageCount;
begin = pageCount - 9;
}
} else {
begin = 1;
end = 10;
}
}
}
for (int i = begin; i <= end; i++) {
if (index == -1) {
if (i == currentPage) {
barStr += "<a href=\"" + url + "?page=" + i +
"\">" + i + "</a> ";
} else {
barStr += "<a href=\"" + url + "?page=" + i +
"\">[" + i + "]</a> ";
}
} else {
if (i == currentPage) {
barStr += "<a href=\"" + url + "&page=" + i +
"\">" + i + "</a> ";
} else {
barStr += "<a href=\"" + url + "&page=" + i +
"\">[" + i + "]</a> ";
}
}
}
if (b1) {
if (index == -1) {
barStr += "<a href=\"" + url + "?page=" +
(currentPage + 1) +
"\">下一页</a>";
} else {
barStr += "<a href=\"" + url + "&page=" +
(currentPage + 1) +
"\">下一页</a>";
}
}
return barStr;
}
[/code]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值