タイムリーフ

Spring Boot のデフォルトのテンプレート言語
タイムリーフ
開発者ダニエル・フェルナンデス
安定版リリース
3.1.3 [1] / 2024年12月9日; 11か月前 ( 2024-12-09 )
書かれたジャワ
オペレーティング·システムクロスプラットフォーム
標準XMLXHTMLHTML5
タイプテンプレートエンジン
ライセンスApacheライセンス2.0
Webサイトwww.thymeleaf.org

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

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

Thymeleaf は、 Apache License 2.0に基づいてライセンスされるオープンソース ソフトウェアです。

特徴

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

  • XMLXHTMLHTML5用のJavaテンプレート エンジン
  • Web環境と非Web環境(オフライン)の両方で動作します。Servlet 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}" >名前</ th > 
      < th  th:text = "#{msgs.headers.price}" >価格</ th > 
    </ tr > 
  </ thead > 
  < tbody > 
    < tr  th:each = "prod : ${allProducts}" > 
      < td  th:text = "${prod.name}" >オレンジ</ td > 
      < td  th:text = "${#numbers.formatDecimal(prod.price,1,2)}" > 0.99 </ td > 
    </ tr > 
  </ tbody > 
</ table >

このコードには次の内容が含まれます。

  • 国際化式: #{ ... } rh
  • 変数/モデル属性評価式: ${...}
  • ユーティリティ関数: #numbers.formatDecimal( ... )

また、この (X)HTML コードのフラグメントは、まったく処理されずにプロトタイプとしてブラウザで完全に表示できます。つまり、自然なテンプレートです。

参照

参考文献

  1. ^ 「Thymeleaf 3.1: 新機能と移行方法 - Thymeleaf」。
  2. ^ “Features - Thymeleaf: Java XML/XHTML/HTML5 テンプレートエンジン”. 2011年10月8日時点のオリジナルよりアーカイブ2011年10月16日閲覧。Thymeleafの機能
  • タイムリーフ
「https://en.wikipedia.org/w/index.php?title=Thymeleaf&oldid=1286209895」より取得