HTML5 模板引擎,Thymeleaf 2.0 發布

fmms 12年前發布 | 25K 次閱讀 HTML5

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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!