春季靴子和Thymeleaf的分页

时间:2018-02-23 02:35:03

标签: spring spring-boot thymeleaf

我正在寻找一个 CLEAN 示例,解释了如何使用百里香和弹簧靴进行分页。

有很多例子,但它们并不完整。

我实际上也在寻找一个实现分页块的示例。例如,如果总页数为150,我希望页面以块的形式显示,如<< 1 - 2 - 3 - 4 - 5 ...>> ,当您单击箭头时,下一个页面块将显示为<< 6 - 7 - 8 - 9 - 10 ...>>

谢谢

2 个答案:

答案 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>
相关问题