Thymeleaf

Thymeleaf
開発元 Daniel Fernández
最新版
3.0.15[1] / 2022年1月31日 (2年前) (2022-01-31)
プログラミング
言語
Java
対応OS クロスプラットフォーム
規格 XML, XHTML, HTML5
種別 テンプレートエンジン
ライセンス Apache License 2.0
公式サイト www.thymeleaf.org
テンプレートを表示

Thymeleafは、Web (サーブレットベース) と非Web環境の両方で機能するJava XML / XHTML / HTML5テンプレート エンジンである。 MVCベースの Webアプリケーションのビュー レイヤーで XHTML/HTML5 を提供するのに適しているが、オフライン環境でも任意の XML ファイルを処理できる。完全なSpring Framework統合を提供する。

Webアプリケーションでは、ThymeleafはJavaServerPages (JSP) の完全な代替を目指しており、 Natural Templatesの概念を実装している: ブラウザで直接開くことができ、Web ページとして正しく表示されるテンプレート ファイルである。

Thymeleafはオープンソース ソフトウェアであり、 Apache License 2.0の下でライセンスされている。

特徴

[編集]

プロジェクトのウェブサイトから: [2]

  • XMLXHTML、およびHTML5用の Javaテンプレート エンジン。
  • Web環境と非Web (オフライン) 環境の両方で機能する。サーブレットAPI への強い依存はない。
  • ダイアレクトと呼ばれるモジュラー機能セットに基づいている。
    • 方言機能 (例: 評価、反復など) は、それらをテンプレートのタグや属性にリンクすることによって適用される。
    • すぐに使用できる2つの方言: StandardとSpringStandard ( Spring MVCアプリの場合、Standard と同じ構文)。
    • 開発者は、カスタム方言を拡張および作成できる。
  • いくつかのテンプレート モード:
    • XML: DTDに対して検証するかどうか。
    • XHTML 1.0 および 1.1 : 標準のDTDに対して検証するかどうか。
    • HTML5 : XML形式のコードとレガシーベースのHTML5の両方。従来の非XMLコードは自動的にクリーンアップされ、XML形式に変換される。
  • 完全な (そして拡張可能な)国際化サポート。
  • 入力/出力を最小限に抑える、構成可能な高性能の解析済みテンプレート キャッシュ
  • テンプレートと結果コードの両方の検証 (オプション) のための、テンプレートDTDから結果 DTDへの自動DOCTYPE変換。
  • 非常に拡張可能: 必要に応じて、テンプレート エンジン フレームワークとして使用できる。
  • いくつかのサンプル アプリケーションを含む完全なドキュメント。

Thymeleafの例

[編集]

次の例では、allProductsというList<Product>変数の各項目の行を含む 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
  • 変数/モデル属性の評価式: ${ . . . }
  • ユーティリティ関数: #numbers.formatDecimal( . . . )

また、この (X)HTMLコードの断片は、まったく処理せずに、プロトタイプとしてブラウザで完全に表示できる: これは自然なテンプレートである。

関連項目

[編集]

脚注

[編集]
  1. ^ https://www.thymeleaf.org/releasenotes.html#thymeleaf-3.0.15 Release notes
  2. ^ Features - Thymeleaf: Java XML/XHTML/HTML5 template engine”. 2011年10月8日時点のオリジナルよりアーカイブ。2011年10月16日閲覧。 Thymeleaf Features

外部リンク

[編集]