Thymeleaf是一個Java XML / XHTML / HTML5 模板引擎 ,可以在Web(基於servlet )和非Web環境中工作。它更適合在基於MVC的Web應用程式的視圖層提供XHTML / HTML5,但它甚至可以在離線環境中處理任何XML檔案。它提供完整的Spring Framework

Thymeleaf
開發者Daniel Fernández
目前版本3.0.11[1](2018年10月29日 (2018-10-29)
程式語言Java
作業系統Cross-platform
標準XML, XHTML, HTML5
類型Template Engine
許可協定Apache License 2.0
網站www.thymeleaf.org

在Web應用程式中,Thymeleaf旨在成為JavaServer Pages(JSP)的完全替代品,並實現自然模板的概念:模板檔案可以直接在瀏覽器中打開,並且仍然可以正確顯示為網頁。

Thymeleaf是 開源軟件、許可下 Apache許可證2.0

功能

從該專案的網站:[2]

  • 用於XMLXHTMLHTML5的 Java 模板引擎 。
  • 適用於Web和非Web(離線)環境。 沒有硬依賴Servlet API。
  • 基於稱為方言的模組化特徵集。
    • 方言特徵(例如:評估,迭代等)通過將它們連結到模板的標籤和/或屬性來應用。
    • 開箱即用的兩種方言:Standard和SpringStandard(適用於Spring MVC應用程式,與標準語法相同)。
    • 開發人員可以擴充和建立自訂方言。
  • 幾種模板模式:
    • XML :驗證DTD與否。
    • XHTML 1.0和1.1 :是否針對標準DTD進行驗證。
    • HTML5 :XML格式的代碼和基於遺留的HTML5。 傳統的非XML代碼將自動清理並轉換為XML格式。
  • 完整(和可延伸)的國際化支援。
  • 可組態的高效能解析模板快取 ,可將輸入/輸出降至最低。
  • 自動DOCTYPE轉換 - 從模板DTD到結果DTD-用於(可選)驗證模板和結果代碼。
  • 極易擴充:如果需要,可以用作模板引擎框架。
  • 完整的文件,包括幾個範例應用

Thymeleaf的例子

下面的例子產生一個HTML5表的行為每個專案的一個 列表<產品> 變數 所有產品.

<table>
  <thead>
    <tr>
      <th th:text="#{msgs.headers.name}">Name</th>
      <th th:text="#{msgs.headers.price}">Price</th>
    </tr>
  </thead>
  <tbody>
    <tr th:each="prod : ${allProducts}">
      <td th:text="${prod.name}">Oranges</td>
      <td th:text="${#numbers.formatDecimal(prod.price,1,2)}">0.99</td>
    </tr>
  </tbody>
</table>

這段代碼包括:

  • 國際化表現形式: #{...}rh
  • 變數/模型的屬性評估表: ${的。中。中。 }
  • 實用功能: #數字。formatDecimal(中。中。中。 )

此外,這個片段(X)HTML代碼可以被完全顯示通過瀏覽器作為一個原型,沒有正在進行處理:它是一個 自然的模板中。

參見

參考文獻

  1. ^ http://forum.thymeleaf.org/Thymeleaf-3-0-11-JUST-PUBLISHED-td4031356.html頁面存檔備份,存於互聯網檔案館) Release announcement
  2. ^ Archived copy. [2011-10-16]. (原始內容存檔於2011-10-08). 

外部連結