zoukankan      html  css  js  c++  java
  • 基于springboot+thymeleaf+springDataJpa自带的分页插件实现完整的动态分页

    实现百度搜索使用的前五后四原则,效果如下。

     下面贴出代码,复制到前端即可,只需要域中放置page对象就可以。(springdatajpa自带的page 注意:第一页是按0开始算的)

    <div class="page">

    <ul class="pagination">


    <!--上一页数-->

    <li class="page-item" th:if="${page.pageable.getPageNumber() != 0}">

    <a th:onclick="pageRequest([[${page.pageable.getPageNumber()-1}]])" class="page-link"

    data-th-attr="pageIndex=${page.number} - 1" aria-label="Previous">

    <span aria-hidden="true">«</span>

    </a>

    </li>

    <li class="page-item">

    <a th:onclick="pageRequest(0)" class="page-link" >首页</a>

    </li>

    <!--前五后四分页实现-->

    <!--总页数<10-->

    <li th:if="${page.totalPages lt 11}" class="page-item" data-th-each="i : ${#numbers.sequence(0, page.totalPages)}"

    data-th-classappend="${(page.number ) eq i} ? 'active' : ''" >

    <a class="page-link" th:onclick="pageRequest([[${i}]])">

    <span data-th-text="${i+1}"></span>

    </a>

    </li>

    <!--总页数>10-->

    <li th:if="${page.totalPages gt 10 && page.pageable.getPageNumber() lt 5}" class="page-item" data-th-each="i : ${#numbers.sequence(0, 9)}"

    data-th-classappend="${(page.number ) eq i} ? 'active' : ''" >

    <a class="page-link" th:onclick="pageRequest([[${i}]])">

    <span data-th-text="${i+1}"></span>

    </a>

    </li>


    <li th:if="${page.totalPages gt 10 && page.pageable.getPageNumber() gt 4 && page.totalPages lt page.pageable.getPageNumber()+5 }"

    class="page-item" data-th-each="i : ${#numbers.sequence(page.totalPages-10, page.totalPages-1)}"

    data-th-classappend="${(page.number ) eq i} ? 'active' : ''" >

    <a class="page-link" th:onclick="pageRequest([[${i}]])">

    <span data-th-text="${i+1}"></span>

    </a>

    </li>

    <li th:if="${page.totalPages gt 10 && page.pageable.getPageNumber() gt 4 && page.pageable.getPageNumber()+4 lt page.totalPages}"

    class="page-item" data-th-each="i : ${#numbers.sequence(page.pageable.getPageNumber()-5, page.pageable.getPageNumber()+4)}"

    data-th-classappend="${(page.number ) eq i} ? 'active' : ''" >

    <a class="page-link" th:onclick="pageRequest([[${i}]])">

    <span data-th-text="${i+1}"></span>

    </a>

    </li>

    <!--尾页-->

    <li class="page-item">

    <a th:onclick="pageRequest([[${page.getTotalPages() - 1}]])" class="page-link" >尾页</a>

    </li>

    <!--下一页-->

    <li class="page-item" th:if="${page.pageable.pageNumber} != ${page.totalPages}-1">

    <a class="page-link" th:onclick="pageRequest([[${page.pageable.pageNumber}+1]])">

    »

    </a>

    </li>

    </ul>

    </div>
  • 相关阅读:
    记录一次.Net框架Bug发现和提交过程:.Net Framework和.Net Core均受影响
    浅谈 Angular 项目实战
    Angular CLI 升级 6.0 之后遇到的问题
    构建具有用户身份认证的 Ionic 应用
    关于 Angular 跨域请求携带 Cookie 的问题
    使用 ng build 构建后资源地址引用错误的问题
    React 系列教程 1:实现 Animate.css 官网效果
    如何在已有的 Web 应用中使用 ReactJS
    关于浏览器后退操作与页面缓存问题
    三阶魔方公式速记
  • 原文地址:https://www.cnblogs.com/super-hu/p/12189681.html
Copyright © 2011-2022 走看看