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/zh-hant/n/132134.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
POMB的頭像POMB
上一篇 2024-10-03 23:50
下一篇 2024-10-03 23:50

相關推薦

  • jQuery Datatable分頁中文

    jQuery Datatable是一個非常流行的數據表插件,它可以幫助您快速地在頁面上創建搜索、過濾、排序和分頁的數據表格。不過,它的默認設置是英文的,今天我們就來探討如何將jQu…

    編程 2025-04-29
  • 使用Thymeleaf動態渲染下拉框

    本文將從下面幾個方面,詳細闡述如何使用Thymeleaf動態渲染下拉框: 一、Thymeleaf是什麼 Thymeleaf是一款Java模板引擎,可用於Web和非Web環境中的應用…

    編程 2025-04-27
  • uniapp分頁第二次請求用法介紹

    本文將從多個方面對uniapp分頁第二次請求進行詳細闡述,並給出對應的代碼示例。 一、請求參數的構造 在進行分頁請求時,需要傳遞的參數體包含當前頁碼以及每頁顯示的數據量。對於第二次…

    編程 2025-04-27
  • 神經網絡代碼詳解

    神經網絡作為一種人工智能技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網絡的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網絡模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁盤中。在執行sync之前,所有的文件系統更新將不會立即寫入磁盤,而是先緩存在內存…

    編程 2025-04-25
  • 詳解eclipse設置

    一、安裝與基礎設置 1、下載eclipse並進行安裝。 2、打開eclipse,選擇對應的工作空間路徑。 File -> Switch Workspace -> [選擇…

    編程 2025-04-25
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web服務器。nginx是一個高性能的反向代理web服務器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • Python安裝OS庫詳解

    一、OS簡介 OS庫是Python標準庫的一部分,它提供了跨平台的操作系統功能,使得Python可以進行文件操作、進程管理、環境變量讀取等系統級操作。 OS庫中包含了大量的文件和目…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25

發表回復

登錄後才能評論