Thymeleaf
外觀
開發者 | Daniel Fernández |
---|---|
當前版本 | 3.0.11[1](2018年10月29日 ) |
編程語言 | Java |
操作系統 | Cross-platform |
標準 | XML, XHTML, HTML5 |
類型 | Template Engine |
許可協議 | Apache License 2.0 |
網站 | www |
Thymeleaf是一個Java XML / XHTML / HTML5 模板引擎 ,可以在Web(基於servlet )和非Web環境中工作。它更適合在基於MVC的Web應用程序的視圖層提供XHTML / HTML5,但它甚至可以在脫機環境中處理任何XML文件。它提供完整的Spring Framework。
在Web應用程序中,Thymeleaf旨在成為JavaServer Pages(JSP)的完全替代品,並實現自然模板的概念:模板文件可以直接在瀏覽器中打開,並且仍然可以正確顯示為網頁。
Thymeleaf是 開源軟件、許可下 Apache許可證2.0。
功能
[編輯]從該項目的網站:[2]
- 用於XML , XHTML和HTML5的 Java 模板引擎 。
- 適用於Web和非Web(離線)環境。 沒有硬依賴Servlet API。
- 基於稱為方言的模塊化特徵集。
- 方言特徵(例如:評估,迭代等)通過將它們鏈接到模板的標籤和/或屬性來應用。
- 開箱即用的兩種方言:Standard和SpringStandard(適用於Spring MVC應用程序,與標準語法相同)。
- 開發人員可以擴展和創建自定義方言。
- 幾種模板模式:
- 完整(和可擴展)的國際化支持。
- 可配置的高性能解析模板緩存 ,可將輸入/輸出降至最低。
- 自動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代碼可以被完全顯示通過瀏覽器作為一個原型,沒有正在進行處理:它是一個 自然的模板中。
參見
[編輯]- 模板引擎(網絡)
- JavaServer Pages
- Spring框架
- FreeMarker
- Apache Velocity
- 模板屬性語言
參考文獻
[編輯]- ^ http://forum.thymeleaf.org/Thymeleaf-3-0-11-JUST-PUBLISHED-td4031356.html (頁面存檔備份,存於網際網路檔案館) Release announcement
- ^ Archived copy. [2011-10-16]. (原始內容存檔於2011-10-08).