JSP
Java代碼
<% Hashtable<String, String> map = new Hashtable<String, String>();
map.put("fileName", fileName);
map.put("startTime", startTime);
map.put("endTime", endTime);
map.put("fileStatus", fileStatus);%>
<%= PageHelper.NormalPager(request,
PageHelper.PER_PAGE_COUNT,
totalCount,
"summary.do",
UrlUtils.getParameterString(map))%>
後臺代碼
Java代碼
public static String NormalPager(HttpServletRequest request, int pageSize,
int totalCount, String actionName, String paramString) {
return GeneratePager(request, pageSize, totalCount, actionName,
paramString);
}
Java代碼
public static String GeneratePager(HttpServletRequest request,
int pageSize, int totalCount, String actionName, String paramString) {
int totalPages = GetTotalPageCount(totalCount, pageSize);
if (IsOnlyOnePage(totalPages)) {
return "";
}
int currentPage = GetCurrentPage(request, totalPages);
StringBuilder output = new StringBuilder();
output.append("<p class='pagination'>");
HandleFirstPage(output, currentPage, actionName, paramString);
HandlePreviousPage(output, currentPage, actionName, paramString);
HandlePagers(output, totalPages, currentPage, actionName, paramString);
HandleNextPage(output, totalPages, currentPage, actionName, paramString);
HandleLastPage(output, totalPages, currentPage, actionName, paramString);
output.append("</p>");
logger.debug(output.toString());
return output.toString();
}
Java代碼
private static int GetTotalPageCount(int totalCount, int pageSize) {
logger.debug("totalCount:" + totalCount);
logger.debug("pageSize:" + pageSize);
return Math.max((totalCount + pageSize – 1) / pageSize, 1);
}
Java代碼
private static void HandleFirstPage(StringBuilder output, int currentPage,
String actionName, String paramString) {
if (CurrentInFirstPage(currentPage)) {
output.append("<span class='disabled'>First</span>");
} else {
output.append(String.format(
"<a href='%1$s?page=%2$d&%3$s'>First</a>", actionName, 1,
paramString));
}
}
Java代碼
private static void HandleNextPage(StringBuilder output, int totalPages,
int currentPage, String actionName, String paramString) {
if (CurrentInLastPage(currentPage, totalPages)) {
output.append("<span class='disabled'>next</span>");
} else {
output.append(String.format(
"<a href='%1$s?page=%2$d&%3$s'>next</a>", actionName,
currentPage + 1, paramString));
}
}
作者“Tristan”