Thymeleaf分页详解

一、Thymeleaf分页序号

Thymeleaf分页的序号是使用当前页数和每页显示数量计算出来的。可以通过SpringBoot的Pageable实现,使用Thymeleaf的th:each循环来进行展示,具体代码如下:


  

其中,page为使用PageRequest类构造出来的分页对象。

二、Thymeleaf模板引擎

Thymeleaf是一个Java模板引擎,用来替代JSP。它可以在HTML、XML、JavaScript、CSS甚至CSV文件中使用,同时支持Spring框架,功能强大。使用Thymeleaf分页,需要在pom.xml中添加以下依赖:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

同时,在application.properties中添加thymeleaf的相关配置:

# 开启thymeleaf缓存
spring.thymeleaf.cache=false
# thymeleaf模板的前缀、后缀
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.mode=HTML
spring.thymeleaf.servlet.content-type=text/html

三、Thymeleaf分页查询

在使用Thymeleaf分页时,需要进行查询操作。查询可以使用SpringBoot的JpaRepository接口的findAll方法,也可以自定义方法来进行查询。代码如下:

@GetMapping("/")
public String index(@RequestParam(name = "page", defaultValue = "0") Integer page,
                @RequestParam(name = "size", defaultValue = "10") Integer size,
                Model model) {
  Pageable pageable = PageRequest.of(page, size);
  Page<Article> articles = articleRepository.findAll(pageable);
  model.addAttribute("articles", articles);
  model.addAttribute("title", "首页");
  model.addAttribute("isActive", "home");
  return "index";
}

其中,articleRepository是一个继承了JpaRepository的自定义接口,Article是实体类。

四、Thymeleaf分页插件

使用Thymeleaf分页,还可以使用一些Thymeleaf分页插件,如bootstrap分页插件、laypage分页插件等等。这些插件提供了更多的分页样式和功能,并且可以易于地集成到Spring Boot项目中。使用方法如下:

<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<div class="text-center">
  <ul class="pagination">
    <li th:class="${articles.first ? 'disabled' : ''}">
      <a th:href="@{/(page=0, size=${size})}">«</a>
    </li>
    <li th:class="${articles.first ? 'disabled' : ''}">
      <a th:href="@{/(page=${articles.previousPageable().pageNumber}, size=${size})}"><<</a>
    </li>
    <li th:each="i : ${#numbers.sequence(page.getNumber()+1, page.getTotalPages())}" 
        th:class="${i-1 == page.getNumber() ? 'active' : ''}">
      <a th:href="@{/(page=${i-1}, size=${size})}" th:text="${i}"></a>
    </li>
    <li th:class="${articles.last ? 'disabled' : ''}">
      <a th:href="@{/(page=${articles.nextPageable().pageNumber}, size=${size})}">>></a>
    </li>
    <li th:class="${articles.last ? 'disabled' : ''}">
      <a th:href="@{/(page=${articles.getTotalPages()-1}, size=${size})}">»</a>
    </li>
  </ul>
</div>

五、Thymeleaf分页模板

在使用Thymeleaf分页时,需要编写一份模板,用于展示分页数据。模板代码如下:

<table class="table table-hover">
  <thead>
    <tr>
      <th>#</th>
      <th>标题</th>
      <th>作者</th>
      <th>发布时间</th>
    </tr>
  </thead>
  <tbody>
    <tr th:each="article : ${articles.content}">
      <td th:text="${#ids.seq('seq', article)}"></td>
      <td><a th:href="@{/article/}+${article.id}" th:text="${article.title}"></a></td>
      <td th:text="${article.author.name}"></td>
      <td th:text="${#dates.format(article.createdTime, 'yyyy/MM/dd')}"></td>
    </tr>
  </tbody>
</table>

六、Thymeleaf分页功能

使用Thymeleaf分页,可以利用SpringBoot的Pageable类进行分页操作,更加方便快捷。同时,可以添加一些分页插件,提供更多的分页样式和功能。最后,编写模板来展示分页数据。

七、Thymeleaf分页Gitee

在Gitee上可以找到一些使用Thymeleaf分页的示例项目。这些示例项目可以帮助开发者更加快速地了解Thymeleaf分页的使用方法和技巧。可以访问以下链接查看:

  • https://gitee.com/Kayle/sharing/tree/master/spring-boot-thymeleaf-pageable-demo
  • https://gitee.com/dyc87112/thymeleaf-bootstrap4-pagination/blob/master/src/main/resources/templates/pagination.html

八、使用Thymeleaf进行分页

在Spring Boot项目中,使用Thymeleaf进行分页,需要进行以下步骤:

  1. 在pom.xml中添加thymeleaf的依赖
  2. 在application.properties中进行thymeleaf的配置
  3. 使用JpaRepository接口进行查询
  4. 编写Thymeleaf模板来展示分页数据
  5. 添加一些分页插件,提供更多的分页样式和功能

九、Spring Boot Thymeleaf分页

Spring Boot提供了Pageable类来帮助开发者进行分页操作。同时,Thymeleaf也为开发者提供了一些模板语法来快速输出分页数据。在Spring Boot Thymeleaf分页中,需要注意以下几个要点:

  • 需要进行依赖和配置的添加
  • 需要查询操作,可以使用JpaRepository等Spring Data JPA相关接口
  • 模板中需要使用th:each等Thymeleaf模板语法来进行展示
  • 可以使用一些分页插件,提供更多的样式和功能

十、用Thymeleaf进行分页

使用Thymeleaf进行分页可以大大简化开发者的工作量,同时也为页面展示提供了更多的灵活性和美观度。在使用Thymeleaf进行分页时,需要了解一些Thymeleaf的模板语法和SpringBoot的Pageable类的使用方法。

最后,开发者需要不断尝试,不断调试,才能更好地应用Thymeleaf分页,在实际项目中提高效率和质量。

原创文章,作者:POMB,如若转载,请注明出处:https://www.506064.com/n/132134.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
POMB的头像POMB
上一篇 2024-10-03 23:50
下一篇 2024-10-03 23:50

相关推荐

  • python抓取代理ip,Python代理服务器

    本文目录一览: 1、如何使用Python实现爬虫代理IP池 2、python爬虫应该怎样使用代理IP 3、python 爬虫 ip池怎么做 4、代理IP对于Python爬虫有多重要…

    编程 2024-10-22
  • c语言怎样写大文件,c语言文件大小

    本文目录一览: 1、c语言如何读写大型的txt文件 2、C语言如何写超过2G大小的文件 3、C语言高速读大文件、写大文件的方式 c语言如何读写大型的txt文件 #include s…

    编程 2024-12-01
  • c语言选择法k值,c语言选择法排序法

    本文目录一览: 1、c语言选择法中k值的作用是什么? 2、c语言选择法排序的最后t=array[k];array[k]=array[i];array[i]=t这段是什么意思 3、c…

    编程 2024-11-27
  • gofunc:让出行更简单便捷

    gofunc是一款线上出行平台,致力于为用户提供最便捷、最优质的出行服务。作为一名全能编程开发工程师,让我们来从多个方面对gofunc进行详细的阐述。 一、gofun出行客服电话 …

    编程 2024-10-04
  • 相机内参矩阵详解

    一、相机内参矩阵几阶 相机内参矩阵是一个3×3的矩阵,也被称为相机内参(intrinsic)矩阵。 二、相机内参数矩阵 相机内参矩阵包含了相机内部的所有参数,包括焦距、像…

    编程 2024-10-03
  • 使用uniqid函数的PHP工程师

    一、uniqid函数的基本使用 uniqid函数是PHP中一个生成唯一ID的函数,调用方式非常简单,如下所示: $uniqueID = uniqid(); echo $unique…

    编程 2024-10-04
  • PHP is_file函数的使用方法

    一、is_file函数基本介绍 is_file函数是PHP中用于检测文件是否存在的一个内置函数,可以用来判断文件是否存在以及是否为一个普通文件(即不是目录或符号链接)。在应用中经常…

    编程 2024-10-24
  • python连接mysql脚本的简单介绍

    本文目录一览: 1、如何用python连接mysql数据库 2、python3.4怎么连接mysql pymysql连接mysql数据库 3、怎么做才能使mysql和python连…

    编程 2024-10-24
  • 从rootfs到嵌入式Linux–初探rootfs

    一、什么是rootfs rootfs是Linux系统中的一个非常重要的概念,也是Linux嵌入式开发中的一个重要部分。rootfs是操作系统内核启动后挂载的根文件系统,也是用户空间…

    编程 2024-11-18
  • php运行怎么样,php好吗

    本文目录一览: 1、PHP语言的有哪些优势和特点? 2、北大青鸟设计培训:PHP语言的优缺点有哪些? 3、PHP的开放性和扩展性怎么样 可以运行在那些服务器上? 4、PHP的优缺点…

    编程 2024-11-25

发表回复

登录后才能评论