?? pageutil.java
字號:
package xing.five.util;
public class PageUtil {
private final static int DEF_PAGE_SIZE = 5;// 默認當前頁的容量
/**
* 功能:傳入查詢前初始化的page實例,創建一個新的Page實例
*
* @param page
* @param totalRow
* @return
*/
public static Page createPage(Page page, int totalRow) {
return createPage(page.getUrl(), page.getParam(), page.getPageSize(),
page.getCurPage(), totalRow);
}
public static Page createPage(String url, String param, int pageSize,
int curPage, int totalRow) {
pageSize = getpageSize(pageSize);
curPage = getcurPage(curPage);
int beginIndex = getBeginIndex(pageSize, curPage);
int totalPage = getTotalPage(pageSize, totalRow);
boolean hasNextPage = hasNextPage(curPage, totalPage);
boolean hasPrePage = hasPrePage(curPage);
String pageToolBar = getPageToolBar(url, param, hasPrePage,
hasNextPage, pageSize, totalPage, totalRow, curPage);
return new Page(hasPrePage, hasNextPage, pageSize, totalPage, totalRow,
curPage, beginIndex, pageToolBar);
}
private static String getPageToolBar(String url, String param,
boolean hasPrePage, boolean hasNextPage, int pageSize,
int totalPage, int totalRow, int curPage) {
StringBuffer strBuf = new StringBuffer();
boolean isHaveParam = false;
if (null != param && !"".equals(param)) {
isHaveParam = true;
}
strBuf.append("當前第" + curPage + "頁/共" + totalPage + "頁 總記錄" + totalRow
+ "條");
if (hasPrePage) {
strBuf.append(" <a href=\"" + url + "?page=1"
+ ((isHaveParam) ? "&" + param : "") + "\">首頁</a>");
strBuf.append(" <a href=\"" + url + "?page=" + (curPage - 1)
+ ((isHaveParam) ? "&" + param : "") + "\">上一頁</a>");
} else {
strBuf.append(" 首頁 上一頁");
}
if (hasNextPage) {
strBuf.append(" <a href=\"" + url + "?page=" + (curPage + 1)
+ ((isHaveParam) ? "&" + param : "") + "\">下一頁</a>");
strBuf.append(" <a href=\"" + url + "?page=" + totalPage
+ ((isHaveParam) ? "&" + param : "") + "\">尾頁</a>");
} else {
strBuf.append(" 下一頁 尾頁");
}
return strBuf.toString();
}
private static int getpageSize(int pageSize) {
return pageSize == 0 ? DEF_PAGE_SIZE : pageSize;
}
private static int getcurPage(int curPage) {
return curPage == 0 ? 1 : curPage;
}
private static int getBeginIndex(int pageSize, int curPage) {
return (curPage - 1) * pageSize;
}
private static int getTotalPage(int pageSize, int totalRow) {
int totalPage = 0;
if (totalRow % pageSize == 0)
totalPage = totalRow / pageSize;
else
totalPage = totalRow / pageSize + 1;
return totalPage;
}
private static boolean hasPrePage(int curPage) {
return curPage == 1 ? false : true;
}
private static boolean hasNextPage(int curPage, int totalPage) {
return curPage == totalPage || totalPage == 0 ? false : true;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -