日志分页增加最后一页last跟总记录数count显示,同配置分页
This commit is contained in:
@@ -34,7 +34,7 @@ public class PageLog<T> {
|
||||
|
||||
private long count;// 总记录数,设置为“-1”表示不查询总数
|
||||
private int first;// 首页索引
|
||||
// private int last;// 尾页索引
|
||||
private int last;// 尾页索引
|
||||
private int prev;// 上一页索引
|
||||
private int next;// 下一页索引
|
||||
|
||||
@@ -42,8 +42,8 @@ public class PageLog<T> {
|
||||
private boolean firstPage;//是否是第一页
|
||||
private boolean lastPage;//是否是最后一页
|
||||
|
||||
// private int length = 8;// 显示页面长度
|
||||
// private int slider = 1;// 前后显示页面长度
|
||||
private int length = 8;// 显示页面长度
|
||||
private int slider = 1;// 前后显示页面长度
|
||||
|
||||
private List<T> list = new ArrayList<T>();
|
||||
|
||||
@@ -266,7 +266,49 @@ public class PageLog<T> {
|
||||
|
||||
//1
|
||||
this.first = 1;
|
||||
|
||||
// 控制接口是否启用count last
|
||||
if (this.count!=0) {
|
||||
this.last = (int)(count / (this.pageSize < 1 ? 20 : this.pageSize) + first - 1);
|
||||
|
||||
if (this.count % this.pageSize != 0 || this.last == 0) {
|
||||
this.last++;
|
||||
}
|
||||
|
||||
if (this.last < this.first) {
|
||||
this.last = this.first;
|
||||
}
|
||||
|
||||
if (this.pageNo <= 1) {
|
||||
this.pageNo = this.first;
|
||||
this.firstPage=true;
|
||||
}
|
||||
|
||||
if (this.pageNo >= this.last) {
|
||||
this.pageNo = this.last;
|
||||
this.lastPage=true;
|
||||
}
|
||||
|
||||
if (this.pageNo < this.last - 1) {
|
||||
this.next = this.pageNo + 1;
|
||||
} else {
|
||||
this.next = this.last;
|
||||
}
|
||||
|
||||
if (this.pageNo > 1) {
|
||||
this.prev = this.pageNo - 1;
|
||||
} else {
|
||||
this.prev = this.first;
|
||||
}
|
||||
|
||||
//2
|
||||
if (this.pageNo < this.first) {// 如果当前页小于首页
|
||||
this.pageNo = this.first;
|
||||
}
|
||||
|
||||
if (this.pageNo > this.last) {// 如果当前页大于尾页
|
||||
this.pageNo = this.last;
|
||||
}
|
||||
}else {
|
||||
//首页
|
||||
if (this.pageNo <= 1) {
|
||||
this.pageNo = this.first;
|
||||
@@ -293,7 +335,7 @@ public class PageLog<T> {
|
||||
if (this.pageNo < this.first) {// 如果当前页小于首页
|
||||
this.pageNo = this.first;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -303,14 +345,92 @@ public class PageLog<T> {
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
// 控制接口返回count last 切换分页
|
||||
if (this.count!=0) {
|
||||
if(list != null && list.isEmpty()) {
|
||||
return "<div class=\"none-data\"><i class=\"fa fa-warning font-red-flamingo\"></i> "+requestContext.getMessage("noneData")+"</div>";
|
||||
}
|
||||
if (pageNo == first) {// 如果是首页
|
||||
sb.append("<li class=\"disabled\"><a href=\"javascript:\">« "+requestContext.getMessage("previousPage")+"</a></li>\n");
|
||||
} else {
|
||||
sb.append("<li><a href=\"javascript:\" onclick=\""+funcName+"("+prev+","+pageSize+",'"+funcParam+"');\">« "+requestContext.getMessage("previousPage")+"</a></li>\n");
|
||||
}
|
||||
|
||||
int begin = pageNo - (length / 2);
|
||||
|
||||
if (begin < first) {
|
||||
begin = first;
|
||||
}
|
||||
|
||||
int end = begin + length - 1;
|
||||
|
||||
if (end >= last) {
|
||||
end = last;
|
||||
begin = end - length + 1;
|
||||
if (begin < first) {
|
||||
begin = first;
|
||||
}
|
||||
}
|
||||
|
||||
if (begin > first) {
|
||||
int i = 0;
|
||||
for (i = first; i < first + slider && i < begin; i++) {
|
||||
sb.append("<li><a href=\"javascript:\" onclick=\""+funcName+"("+i+","+pageSize+",'"+funcParam+"');\">"
|
||||
+ (i + 1 - first) + "</a></li>\n");
|
||||
}
|
||||
if (i < begin) {
|
||||
sb.append("<li class=\"disabled\"><a href=\"javascript:\">...</a></li>\n");
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = begin; i <= end; i++) {
|
||||
if (i == pageNo) {
|
||||
sb.append("<li class=\"active\"><a href=\"javascript:\">" + (i + 1 - first)
|
||||
+ "</a></li>\n");
|
||||
} else {
|
||||
sb.append("<li><a href=\"javascript:\" onclick=\""+funcName+"("+i+","+pageSize+",'"+funcParam+"');\">"
|
||||
+ (i + 1 - first) + "</a></li>\n");
|
||||
}
|
||||
}
|
||||
|
||||
if (last - end > slider) {
|
||||
sb.append("<li class=\"disabled\"><a href=\"javascript:\">...</a></li>\n");
|
||||
end = last - slider;
|
||||
}
|
||||
|
||||
for (int i = end + 1; i <= last; i++) {
|
||||
sb.append("<li><a href=\"javascript:\" onclick=\""+funcName+"("+i+","+pageSize+",'"+funcParam+"');\">"
|
||||
+ (i + 1 - first) + "</a></li>\n");
|
||||
}
|
||||
|
||||
if (pageNo == last) {
|
||||
sb.append("<li class=\"disabled\"><a href=\"javascript:\">"+requestContext.getMessage("nextPage")+" »</a></li>\n");
|
||||
} else {
|
||||
sb.append("<li><a href=\"javascript:\" onclick=\""+funcName+"("+next+","+pageSize+",'"+funcParam+"');\">"
|
||||
+ ""+requestContext.getMessage("nextPage")+" »</a></li>\n");
|
||||
}
|
||||
|
||||
sb.append("<li class=\"disabled controls\"><a href=\"javascript:\">"+requestContext.getMessage("current")+" ");
|
||||
sb.append("<input type=\"text\" value=\""+pageNo+"\" onkeypress=\"var e=window.event||this;var c=e.keyCode||e.which;if(c==13)");
|
||||
sb.append(funcName+"(this.value,"+pageSize+",'"+funcParam+"');\" onclick=\"this.select();\"/> / ");
|
||||
sb.append("<input type=\"text\" value=\""+last+"\" onkeypress=\"var e=window.event||this;var c=e.keyCode||e.which;if(c==13)");
|
||||
sb.append(funcName+"("+pageNo+",this.value,'"+funcParam+"');\" onclick=\"this.select();\"/> "+requestContext.getMessage("page")+",");
|
||||
sb.append(""+requestContext.getMessage("total")+" <span id='showTotalCount'>" + count + "</span> "+requestContext.getMessage("count")+""+(message!=null?message:"")+"</a></li>\n");
|
||||
|
||||
sb.insert(0,"<ul>\n").append("</ul>\n");
|
||||
|
||||
sb.append("<div style=\"clear:both;\"></div>");
|
||||
|
||||
// sb.insert(0,"<div class=\"page\">\n").append("</div>\n");
|
||||
|
||||
}else {
|
||||
|
||||
if(list != null && list.isEmpty()&&pageNo<=1) {
|
||||
return "<div class=\"none-data\"><i class=\"fa fa-warning font-red-flamingo\"></i> "+requestContext.getMessage("noneData")+"</div>";
|
||||
}
|
||||
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.append("<li><a href=\"javascript:\" onclick=\""+funcName+"("+first+","+pageSize+",'"+funcParam+"');\">"+requestContext.getMessage("firstPage")+"</a></li>\n");
|
||||
if (pageNo == first) {// 如果是首页
|
||||
@@ -335,7 +455,7 @@ public class PageLog<T> {
|
||||
sb.insert(0,"<ul>\n").append("</ul>\n");
|
||||
|
||||
sb.append("<div style=\"clear:both;\"></div>");
|
||||
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
@@ -413,7 +533,21 @@ public class PageLog<T> {
|
||||
return first;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 尾页索引
|
||||
* @return
|
||||
*/
|
||||
public int getLast() {
|
||||
return last;
|
||||
}
|
||||
/**
|
||||
* 获取页面总数
|
||||
* @return getLast();
|
||||
*/
|
||||
@JsonIgnore
|
||||
public int getTotalPage() {
|
||||
return getLast();
|
||||
}
|
||||
/**
|
||||
* 是否为第一页
|
||||
* @return
|
||||
|
||||
Reference in New Issue
Block a user