[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]
/**
*
* @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]