【Spring-Boot3】Thymeleafのレイアウトまとめ。

アイキャッチ プログラミング
スポンサーリンク

共通レイアウトにページを適用させる場合

共通レイアウト

<html 
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:th="http://www.thymeleaf.org"
    xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
    lang="ja">

  <body>
    <div layout:fragment="contents"></div>
  </body>
</html>

各ページ

<html
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:th="http://www.thymeleaf.org"
    xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
    layout:decorator="~{layout/layout}">

  <body>
    <div layout:fragment="contents">
  </body>
</html>

画面に部品化したHTMLを埋め込みたい場合

部品側

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:th="http://www.thymeleaf.org"
	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">

  <body>
    <div th:fragment="method" th:remove="tag"></div>
  </body>
</html>
<html 
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:th="http://www.thymeleaf.org"
    xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
    layout:decorator="~{layout/layout}">

  <body>
    <div th:insert="~{layout/parts :: method}"></div>
  </body>
</html>

おまけ

部品を指定する際の~{}は、今後のアップデートで削除される予定です。
現在v3.0系ですでに非推奨となっているので、つけておきましょう。

th:includeというものもありますが、こちらも古い書き方です。
今後は削除される予定なので使用しないようにしましょう

コメント

タイトルとURLをコピーしました