src/com/itbaizhan/util/PageUtil.java
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
package com.itbaizhan.util;
import java.util.Enumeration;
import javax.servlet.http.HttpServletRequest;
/**
* 分页工具类
*/
public class PageUtil {
/**
* 获取分页工具
* @param total 总记录数
* @param page 当前页面
* @param size 每页数量
* @return
*/
public static String getPageTool(HttpServletRequest request, long total, int page, int size){
if (total <= 0) {
return null;
}
// 计算总页数
int pages = (int) (total % size ==0 ? total/size : total /size + 1);
pages = pages == 0 ? 1 : pages;
// 请求地址
String url = request.getRequestURL().toString();
// 请求参数
StringBuilder paramBuilder = new StringBuilder();
Enumeration<String> params = request.getParameterNames();
while (params.hasMoreElements()) {
String param = params.nextElement();
if(param.indexOf("page") > -1) {
continue;
}
paramBuilder.append("&").append(param).append("=").append(request.getParameter(param));
}
// 分页字符串
StringBuilder pageBuilder = new StringBuilder();
pageBuilder.append("<div class='pagination'>");
// 上一页
if (page <= 1) { // 如果已经是第一页, 上一页按钮disabled
pageBuilder.append("<span class='disabled'><<</span>");
}else{
pageBuilder.append("<span>").append("<a href='").append(url).append("?").append("page=").append(page-1)
.append(paramBuilder).append("'>").append("<<").append("</a>").append("</span>");
}
// 中间数字页码
if (pages <= 7) { // 全部显示
for (int i = 1; i <= pages; i++) {
pageBuilder.append(packPageItem(url, paramBuilder.toString(), page, i));
}
}else{ // 显示部分
if (page<4 || page>pages-3) { // 1 2 3 ... pages-2 pages-1 pages
pageBuilder.append(packPageItem(url, paramBuilder.toString(), page, 1));
pageBuilder.append(packPageItem(url, paramBuilder.toString(), page, 2));
pageBuilder.append(packPageItem(url, paramBuilder.toString(), page, 3));
pageBuilder.append(" ... ");
后面还有 98 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。