spriungboot2.0.6 bootstrap4.0.0 thymeleaf分页

xiaoxiao2025-06-01  35

最终效果图 ,差不多就这样

导入pom依赖的分页插件(bootstrap 和 thymeleaf 我就不写了)

<!-- 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency>

PageInfo属性解释

public class PageInfo<T> extends PageSerializable<T> { private int pageNum;//当前页码 private int pageSize;//每页数量 private int size;//当前页的数量 private int startRow;//当前页面第一个元素在数据库中的行号 private int endRow;//当前页面最后一个元素在数据库中的行号 private int pages;//总页数 private int prePage;//前一页 private int nextPage;//后一页 private boolean isFirstPage;//是否是第一页 private boolean isLastPage;//是否是最后一页 private boolean hasPreviousPage;//是否有前一页 private boolean hasNextPage;//是否有后一页 private int navigatePages;//导航栏页码数 private int[] navigatepageNums;//所有导航栏号 private int navigateFirstPage;//显示的导航栏的第一页 private int navigateLastPage;//显示的导航的最后一页

//似乎不完整 total 总记录数 List<T>list 结果集(每页显示的数据)

获取所有数据(注解版的mybatis)

@Select("select * from tb_user") public List<User> findUserList();

controller:(注意涂颜色的地方)

    @GetMapping("/stuList")     public ModelAndView page(@RequestParam(required = false, defaultValue = "1", value = "pn") Integer pn,                              Model model) {         //pageSize:当前页面显示数据条数         PageHelper.startPage(pn, 10);

        List<User> users = userService.findUserList();         model.addAttribute("students", users);

        //navigatePages:导航栏页码数         PageInfo<User> pageInfo = new PageInfo(users, 5);

        return new ModelAndView("admin/studentList", "pageInfo", pageInfo);     }

显示页(注意红色地方,)

<div class="row"> <div class="col-md-6"> <h5>当前第[[${pageInfo.pageNum }]]页,总[[${pageInfo.pages }]]页,总[[${pageInfo.total }]]条记录 </h5> </div> <div class="col-md-6"> <nav aria-label="Page navigation"> <ul class="pagination"> <!--首页 和 上一页--> <li> <a th:href="@{/stuList}" class="btn btn-sm"> 首页 </a> </li> <th:if test="${pageInfo.hasPreviousPage - 1} > 0"> <li> <a th:href="@{/stuList(pn=${pageInfo.pageNum - 1})}" aria-label="Previous" class="btn btn-sm" data-th-classappend="${(pageInfo.pageNum - 1) eq 0} ? 'disabled' : ''"> < </a> </li> </th:if> <!--迭代生成页码--> <li> <a th:each="i:${pageInfo.navigatepageNums}" th:href="@{/stuList(pn=${i})}" th:text="${i}" class="btn btn-sm" data-th-classappend="${(pageInfo.pageNum) eq i} ? 'btn-info' : ''"> </a> </li> <!--下一页 和 末页--> <th:if test="${pageInfo.hasNextPage }"> <li> <a aria-label="Next" class="btn btn-sm" th:href="@{/stuList(pn=${pageInfo.pageNum + 1})}" data-th-classappend="${(pageInfo.pageNum) eq (pageInfo.pages)} ? 'disabled' : ''"> > </a> </li> </th:if> <li> <a th:href="@{/stuList(pn=${pageInfo.pages})}" class="btn btn-sm"> 末页 </a> </li> </ul> </nav> </div> </div>

淡紫色的地方是对上一页和下一页的判断是否禁用

到此如果顺利的话就大功告成了

 

 

转载请注明原文地址: https://www.6miu.com/read-5031100.html

最新回复(0)