我正在寻找一个 CLEAN 示例,解释了如何使用百里香和弹簧靴进行分页。
有很多例子,但它们并不完整。
我实际上也在寻找一个实现分页块的示例。例如,如果总页数为150,我希望页面以块的形式显示,如<< 1 - 2 - 3 - 4 - 5 ...>> ,当您单击箭头时,下一个页面块将显示为<< 6 - 7 - 8 - 9 - 10 ...>>
谢谢
答案 0 :(得分:2)
我找到了一个使用Java数学方法的简单解决方案:Math.max和Math.min如下:
int current = page.getNumber() + 3;
int begin = Math.max(1, current - 5);
int end = Math.min(begin + 6, page.getTotalPages());
然后我将这些变量传递给百日咳#numbers.sequence,如:
<li class="page-item"
th:each="i : ${#numbers.sequence(beginIndex, endIndex)} ">
<a th:href="@{/jobs(p=${i})}" th:text="${i}" class="nav-link"
th:classappend="${currentPage}==${i}?'activepagenumber':''"></a>
</li>
答案 1 :(得分:0)
添加到Issmeil B.回答,以防万一你想在页面上计算起始和结束索引,你可以在Math类中调用静态类。例如
<div class="paginate-pagination"
th:with="current=${page.number + 3},
beginIndex=${T(java.lang.Math).max(0,current-5)},
endIndex=${T(java.lang.Math).min(begin + 6 , page.totalPages-1)}">
....
</div>