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).