分页器省略号算法 java
时间: 2023-08-14 21:07:30 浏览: 164
分页算法java实现
分页器省略号算法是指在分页器中,当页码数量较多时,为了减少显示的页码数量,将部分页码用省略号表示。
以下是一个简单的 Java 实现示例:
```java
public static String getPageNumbers(int currentPage, int totalPages) {
int range = 2; // 省略号两侧显示的页码数量
int start = Math.max(1, currentPage - range);
int end = Math.min(totalPages, currentPage + range);
StringBuilder sb = new StringBuilder();
if (start > 1) {
sb.append("<a href='?page=1'>1</a>"); // 显示第一页
if (start > 2) {
sb.append("<span>...</span>"); // 显示省略号
}
}
for (int i = start; i <= end; i++) {
if (i == currentPage) {
sb.append("<span>").append(i).append("</span>"); // 当前页不加链接
} else {
sb.append("<a href='?page=").append(i).append("'>").append(i).append("</a>");
}
}
if (end < totalPages) {
if (end < totalPages - 1) {
sb.append("<span>...</span>"); // 显示省略号
}
sb.append("<a href='?page=").append(totalPages).append("'>").append(totalPages).append("</a>"); // 显示最后一页
}
return sb.toString();
}
```
该实现会根据当前页码和总页码数计算出需要显示的页码范围,然后按照一定的规则生成 HTML 链接和省略号标签。其中,`Math.max` 和 `Math.min` 用于确保页码不超出边界。
阅读全文