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 などをご覧ください。