Thymeleaf 部分テンプレート


Thymeleaf でどうやってフラグメント(部分テンプレート)を実現するのか書きました。 Rails では部分テンプレート (partial template) という言葉を使いますが、 Thymeleaf ではフラグメントという言葉のほうが一般的です。

環境

  • Thymeleaf 2.1.4

フラグメント(部分テンプレート)を使う場合は、 th:include または th:replace を使います。 違いは、 指定したタグの中に展開するか(th:include)、 指定したタグを置き換えるか(th:replace)です。

サンプル

th:replace を使ったサンプルコードを紹介します。

まずはメインのテンプレートを記述します。

そして ディレクトリ resources/common に ファイル navigation.html を作成します。

このようにすると、 th:replace 属性 をつけたところが navigation.html の内容に置き換えられます。

th:fragment 属性を使うともっと込み入った書き方ができます。 詳しくは Thymeleaf Page Layouts などをご覧ください。