HTML5 模板引擎,Thymeleaf 2.0 發布
Thymeleaf是一個XML/XHTML/HTML5模板引擎,可用于Web與非Web環境中的應用開發。它是一個開源的Java庫,基于Apache License 2.0許可,由Daniel Fernández創建,該作者還是Java加密庫Jasypt的作者。
Thymeleaf提供了一個用于整合Spring MVC的可選模塊,在應用開發中,你可以使用Thymeleaf來完全代替JSP,或其他模板引擎,如Velocity、FreeMarker等。 Thymeleaf的主要目標在于提供一種可被瀏覽器正確顯示的、格式良好的模板創建方式,因此也可以用作靜態建模。你可以使用它創建經過驗證的XML與 HTML模板。相對于編寫邏輯或代碼,開發者只需將標簽屬性添加到模板中即可。接下來,這些標簽屬性就會在DOM(文檔對象模型)上執行預先制定好的邏輯。
示例模板:
<table>
<thead>
<tr>
<th th:text="#{msgs.headers.name}">Name</td>
<th th:text="#{msgs.headers.price}">Price</td>
</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>
Thymeleaf 2.0 發布了,該版本主要改進:
- 性能提升:完全重寫的模板執行引擎,幾乎重新設計的內部架構,性能較1.1版本有了大幅提升。
- 在standard dialects 版本中新增了th:switch/th:case屬性,th:switch屬性與Java語言中的switch語句類似。
- 在th:remove屬性中添加了all-but-first值,可有效節省一些重復代碼。
- 在錯誤信息中顯示錯誤位置的行號。
- DOM選擇器。
- 處理不完整模板:之前的Thymeleaf不能處理不完整的XML文件,這限制了Thymeleaf在需要處理片段或高級UI部件情況下的使用,2.0中解決了這個問題。
- 完全普遍化了之前版本中已經出現的緩存基礎架構。
- 在Standard dialects中新增了XHTML DTDs。
此外,該版本針對自定義Thymeleaf擴展的用戶,進行了一些改進
詳細信息參閱:What's new in Thymeleaf 2.0
本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!