经常在用 Thymeleaf 分页,很多基础的知识已经有点淡忘了,今天做到了分页部分,发现连最基础的逻辑比较都记不清了。于是花了点时间又看了下 Thymeleaf 的基础知识,做了一个相当简陋的分页,记录一下以后翻用。
分页工具类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| package com.bill.util;
import lombok.Data;
import java.util.List;
@Data public class PageHelper<T> { private int currentPage; private int pageSize; private int totalPage; private int totalCount; private List<T> dataList; private boolean isFirstPage; private boolean isLastPage; private boolean hasPreviousPage; private boolean hasNextPage;
public PageHelper(int currenPage, int pageSize, int totalCount, List<T> dataList) { this.currentPage = currenPage; this.pageSize = pageSize; this.totalCount = totalCount; this.dataList = dataList;
if (totalCount % pageSize == 0) { this.totalPage = totalCount / pageSize; } else { this.totalPage = totalCount / pageSize + 1; }
this.isFirstPage = (currentPage == 1);
this.isLastPage = (currentPage == totalPage);
this.hasNextPage = !isLastPage;
this.hasPreviousPage = !isFirstPage; } }
|
Thymeleaf模板:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| <ul class="pagination" style="float: right;"> <li> <a href="#" th:href="@{billContent.do?page=1}">«</a> </li> <li th:if="${pageHelper.getCurrentPage() - 2} > 0"> <a th:text="${pageHelper.getCurrentPage() - 2}" th:href="@{'billContent.do?page=' + ${pageHelper.getCurrentPage() - 2}}">1</a> </li> <li th:if="${pageHelper.getCurrentPage() - 1} > 0"> <a th:text="${pageHelper.getCurrentPage() - 1}" th:href="@{'billContent.do?page=' + ${pageHelper.getCurrentPage() - 1}}">1</a> </li> <li class="active"> <a th:text="${pageHelper.getCurrentPage()}" th:href="@{'billContent.do?page=' + ${pageHelper.getCurrentPage()}}">1</a> </li> <li th:if="${pageHelper.getCurrentPage() + 1} < ${pageHelper.getTotalPage() + 1}"> <a th:text="${pageHelper.getCurrentPage() + 1}" th:href="@{'billContent.do?page=' + ${pageHelper.getCurrentPage() + 1}}">1</a> </li> <li th:if="${pageHelper.getCurrentPage() + 2} < ${pageHelper.getTotalPage() + 1}"> <a th:text="${pageHelper.getCurrentPage() + 2}" th:href="@{'billContent.do?page=' + ${pageHelper.getCurrentPage() + 2}}">1</a> </li> <li> <a href="#" th:href="@{'billContent.do?page=' + ${pageHelper.getTotalPage()}}">»</a> </li> </ul>
|