日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java分页通用类

發布時間:2025/7/25 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java分页通用类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

java分頁通用類

分頁是個說簡單就簡單,說復雜頁不復雜的功能。網上各種分頁類多多少少都不符合自己的需求,還是自己寫一個吧。

?

支持一個頁面出現多個分頁功能:

Java代碼?

import javax.servlet.http.HttpServletRequest;


/**
?* 分頁實用類
?*?
?* @author shuzheng
?* @version 2014/04/21
?*?
?*/
public class Pager {

/**
* 生成簡單的分頁頁面內容
*?
* @param total 總記錄數
* @param size 每頁記錄數
* @param step 最多顯示分頁頁數
* @param page 當前頁數
* @param request 請求request
* @return 分頁的HTML代碼
*/
public static String getSimplePages(int total, int size, int step, int page, HttpServletRequest request, String paramName) {
// 根據request獲取當前url,包括參數,如果有已存在名稱未paramname的參數,剔除掉,后面會追加新的參數
String url = request.getContextPath() + request.getServletPath();
String query = request.getQueryString();
if (query != null) {
String params = "";
String[] querys = query.split("&");
for (int i = 0 ; i < querys.length ; i ++) {
if (querys[i].startsWith(paramName))
continue;
if (params.equals(""))
params += querys[i];
else
params += "&" + querys[i];
}
if (!params.equals(""))
url += "?" + params;
}
// 結果html
String pages = "";


int pageCount = (int) Math.ceil((double) total / size);// 求總頁數
if (pageCount == 1) {
return pages;
}
if (page > pageCount) {
page = pageCount;// 如果分頁變量大總頁數,則將分頁變量設計為總頁數
}
if (page <= 0) {
page = 1;// 如果分頁變量小于1,則將分頁變量設為1
}

// 顯示上一頁
if (page > 1) {
if (url.contains("?")) {
pages = pages.concat("<a class=\"prev\" href=\"" + url + "&" + paramName + "=" + (page - 1) + "\">上一頁</a>\n");
} else {
pages = pages.concat("<a class=\"prev\" href=\"" + url + "?" + paramName + "=" + (page - 1) + "\">上一頁</a>\n");
}
} else {
pages = pages.concat("<a class=\"prev\" href=\"javascript:;\" style=\"color:#ccc\">上一頁</a>\n");
}
// 顯示分頁碼
int listBegin = (page - (int) Math.floor((double) step / 2));//從第幾頁開始顯示分頁信息
? ? ? ? if (listBegin < 1) {
? ? ? ? ? ? listBegin = 1;
? ? ? ? }
? ? ? ? //顯示第1頁
if (listBegin >= 2) {
if (url.contains("?")) {
pages = pages.concat("<a href=\"" + url + "&" + paramName + "=1\">1</a> ... \n");
} else {
pages = pages.concat("<a href=\"" + url + "?" + paramName + "=1\">1</a> ... \n");
}
}
? ? ? ? //當前頁數右側還有未顯示頁碼時
? ? ? ? if (pageCount - page >= page - listBegin) {
for (int i = listBegin; i < (listBegin + step); i++) {
if (i != page) {
if (url.contains("?")) {
pages = pages.concat("<a href=\"" + url + "&" + paramName + "=" + i + "\">" + i + "</a>\n");
} else {
pages = pages.concat("<a href=\"" + url + "?" + paramName + "=" + i + "\">" + i + "</a>\n");
}
} else {
pages = pages.concat("<span class=\"current\">" + i + "</span>\n");
}
}
? ? ? ?//顯示最后1頁
if (listBegin + step <= pageCount) {
if (url.contains("?")) {
pages = pages.concat(" ... <a href=\"" + url + "&" + paramName + "=" + pageCount + "\">" + pageCount + "</a>\n");
} else {
pages = pages.concat(" ... <a href=\"" + url + "?" + paramName + "=" + pageCount + "\">" + pageCount + "</a>\n");
}
}
? ? ? ? } else { // 顯示最后剩余的幾個頁碼
? ? ? ? for (int i = (pageCount-step) + 1; i <= pageCount; i++) {
if (i != page) {
if (url.contains("?")) {
pages = pages.concat("<a href=\"" + url + "&" + paramName + "=" + i + "\">" + i + "</a>\n");
} else {
pages = pages.concat("<a href=\"" + url + "?" + paramName + "=" + i + "\">" + i + "</a>\n");
}
} else {
pages = pages.concat("<span class=\"current\">" + i + "</span>\n");
}
}
? ? ? ? }
// 顯示下一頁
if (page < pageCount) {
if (url.contains("?")) {
pages = pages.concat("<a class=\"next\" href=\"" + url + "&" + paramName + "=" + (page + 1) + "\">下一頁</a>\n");
} else {
pages = pages.concat("<a class=\"next\" href=\"" + url + "?" + paramName + "=" + (page + 1) + "\">下一頁</a>\n");
}
} else {
pages = pages.concat("<a class=\"next\" href=\"javascript:;\" style=\"color:#ccc\">下一頁</a>\n");
}
return pages;
}
}

使用方法:

?

Java代碼? public String test() {
// 分頁
int total = 10; //總記錄數
int size = 1; //每頁記錄數
int step = 7; //最多顯示分頁頁數
int p1 = StringUtil.toInt(request.getParameter("p1")); //當前頁數
int p2 = StringUtil.toInt(request.getParameter("p2")); //當前頁數
int p3 = StringUtil.toInt(request.getParameter("p3")); //當前頁數
int p4 = StringUtil.toInt(request.getParameter("p4")); //當前頁數

return Pager.getSimplePages(total, size, step, p1, request, "p1") + "\n\n<br/><br/>\n\n" +?
Pager.getSimplePages(total, size, step, p2, request, "p2") + "\n\n<br/><br/>\n\n" +?
Pager.getSimplePages(total, size, step, p3, request, "p3") + "\n\n<br/><br/>\n\n" +?
Pager.getSimplePages(total, size, step, p4, request, "p4");
}

結果如圖所示:

?



?


總結

以上是生活随笔為你收集整理的java分页通用类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产无套内射又大又猛又粗又爽 | 日本一区二区三区成人 | 欧美视频四区 | 国产精品一线天粉嫩av | 亚洲高清免费 | 九九精品在线观看视频 | 国产盗摄视频在线观看 | 91久久精品无码一区二区 | 少妇被又大又粗又爽毛片久久黑人 | 成人污污视频在线观看 | 毛片在线视频 | 操穴影院 | 人人爽久久涩噜噜噜网站 | 久久一精品| www.国产欧美 | www亚洲色图 | 婷婷综合网站 | 99热官网| 黄片毛片在线看 | 中文字幕精品视频在线观看 | 日本三级中文字幕在线观看 | 人人看人人草 | 日本夜夜操 | 亚洲av无码国产精品永久一区 | 97超在线 | 国产sm在线| www.久久久.com | 视频福利在线 | 久久55 | 亚洲精品少妇久久久久久 | 亚洲第一精品在线 | 亚洲精品久久久狠狠狠爱 | 丰满岳乱妇在线观看中字无码 | 黄网地址 | 国产色频 | 久久久精品一区二区 | 女人被狂躁60分钟视频 | 国产福利片在线观看 | 91gao| 国产又黄又粗又长 | 亚洲第九页 | 欧美激情天堂 | 亚洲呦呦 | 日本特级黄色录像 | 精品在线视频免费观看 | 成人免费无遮挡无码黄漫视频 | 国产精品一区二区av | 国产精品大屁股白浆一区 | 久久婷婷av | 亚洲一级大片 | 日美一级片| 成人黄色电影网址 | 亚洲porn| 久久久精品视频免费 | 欧美草逼网 | 九九这里只有精品视频 | 午夜影院入口 | 国产福利资源在线 | 四虎永久在线精品免费一区二区 | 色呦呦中文字幕 | 日韩欧美在线精品 | 国产成人精品一区二区在线观看 | 国产精品宾馆在线 | 精品久久久无码中文字幕 | 91中文在线 | 成人黄色一区二区 | 91在线免费看 | 日本特黄一级大片 | 荷兰女人裸体性做爰 | 国产福利一区在线观看 | 一区二区三区免费观看视频 | 中日韩午夜理伦电影免费 | 98堂 最新网名 | 内地级a艳片高清免费播放 91在线精品一区二区 | 欧美精品成人一区二区三区四区 | 免费在线看黄色 | 中文字幕激情 | 综合激情网五月 | 疯狂做爰高潮videossex | 99久久国 | 国产视频成人 | 亚洲www啪成人一区二区麻豆 | 人人妻人人澡人人爽久久av | 少妇呻吟视频 | av5566| 污网站免费看 | 国产在线麻豆精品观看 | 看全黄大色黄大片美女人 | 欧美春色| a级大片在线观看 | 日韩精品亚洲一区 | av片免费 | 欧美日韩国产综合网 | www.一起操 | 中文字幕制服诱惑 | 午夜影院黄| 操碰在线观看 | 午夜福利理论片在线观看 | 天堂а√在线中文在线 |