分页工具-基于HTML前后端不分离

import java.util.List;

/**
* 分页对象
*/
public class PageBean<T> {
/**
* 当前页显示的数据
*/
private List<T> items;
/**
* 当前页码
*/
private long currentPageNum;
/**
* 总页数
*/
private long totalPageNum;

/**
* 每页显示的记录条数
*/
private long pageSize = 5;
/**
* 总记录条数
*/
private long totalItemNum;
/**
* 上一页
*/
private long prePageNum;
/**
* 下一页
*/
private long nextPageNum;

/**
* 自定义携带值
*/
private Object object;

/**
* 查询分页的请求的地址(通过这个属性可以将页面中的分页部分给抽取成公共部分)
*/
private String url;


public List<T> getItems() {
return items;
}

public void setItems(List<T> items) {
this.items = items;
}

public long getCurrentPageNum() {
return currentPageNum;
}

public void setCurrentPageNum(long pageNum) {
this.currentPageNum = pageNum;
}

public long getTotalPageNum() {
return totalPageNum;
}

public void setTotalPageNum(long totalPageNum) {
this.totalPageNum = totalPageNum;
}

public Object getObject() {
return object;
}

public void setObject(Object object) {
this.object = object;
}

public long getPrePageNum() {
prePageNum = currentPageNum - 1;
if (prePageNum < 1) {
prePageNum = 1;
}
return prePageNum;
}

public long getNextPageNum() {
nextPageNum = currentPageNum + 1;
if (nextPageNum > totalPageNum) {
nextPageNum = totalPageNum;
}
return nextPageNum;
}

public long getPageSize() {
return pageSize;
}

public void setPageSize(long pageSize) {
this.pageSize = pageSize;
}

public long getTotalItemNum() {
return totalItemNum;
}

public void setTotalItemNum(long totalItemNum) {
this.totalItemNum = totalItemNum;
}

public String getUrl() {
return url;
}

public void setUrl(String url) {
this.url = url;
}

@Override
public String toString() {
StringBuffer sb = new StringBuffer();
for (T t : items) {
sb.append(t).append("\n");
}
return "PageBean{\n" +
"currentPageNum=" + currentPageNum +
", totalPageNum=" + totalPageNum +
", pageSize=" + pageSize +
", totalPageNum=" + totalPageNum +
", prePageNum=" + prePageNum +
", nextPageNum=" + nextPageNum +
", url='" + url + '\'' + ",\n" +
", object='" + object.toString() +
"records=" + sb +
'}';
}
}

前端分页导航条:html+thymeleaf

<!--分页-->
<div class="btn-group btn-group-page" id="btn-group-page"
style="position: fixed;bottom: 0px;bottom: 5px;left: 476px;"
th:if="${pageBean != null && pageBean.item.size() ne 0}">
<!-- 上一页-->
<a th:class="${pageBean.currentPageNum==1?'btn btn-default radius':'btn btn-primary radius'}"
th:href="${pageBean.url}+${pageBean.prePageNum}"><i class="Hui-iconfont">&#xe6d4;</i></a>
<!-- 页码-->
<a th:class="${pageBean.currentPageNum==i?'btn btn-secondary radius':'btn btn-default radius'}"
th:href="${pageBean.url}+${i}"
th:each="i: ${#numbers.sequence(__${pageBean.object[0]}__,__${pageBean.object[1]}__)}" th:text="${i}"></a>
<!-- ...-->
<a class="btn btn-default radius" th:href="${pageBean.url}+${pageBean.nextPageNum}"
th:if="${pageBean.object[1]!=pageBean.totalPageNum}"><i class="Hui-iconfont">&#xe69c;</i></a>
<!-- 总页码-->
<a class="btn btn-default radius" th:href="${pageBean.url}+${pageBean.totalPageNum}"
th:if="${pageBean.object[1]!=pageBean.totalPageNum}" th:text="${pageBean.totalPageNum}"></a>
<!-- 下一页-->
<a th:class="${pageBean.currentPageNum<pageBean.totalPageNum?'btn btn-primary radius':'btn btn-default radius'}"
th:href="${pageBean.url}+${pageBean.nextPageNum}"><i class="Hui-iconfont">&#xe6d7;</i></a>
</div>
<!--以上可抽离出页面,用下面这段引用--> <div style="float: right" th:include="common/_page.html"></div>
posted @ 2019-10-13 19:59  朱思年  阅读(200)  评论(0编辑  收藏  举报