Thymeleaf 3 layoutsを使用してフラグメントに追加のコンテンツを追加したいのですが、それを行う方法がわかりません。Thymeleaf 3のフラグメントにコンテンツを追加する方法
:内容は以下のようにレンダリング<head th:include="layout :: head(title=~{::title})">
<title>Please Login</title>
</head>
:
<head th:fragment="head(title)">
<title th:include="${title}">My App: </title>
</head>
次に使用して、上記のフラグメントを使用するテンプレートを持っている:例えば、私は次のようになりますlayout
という名前のフラグメントがしたいのですが
<head>
<title>Please Login</title>
</head>
テンプレートを変更して、次のようにレンダリングし、layout
テンプレートにMy App:
を配置したいと思います。それを複製する必要はありません)。私は、これは、以下のものを使用して動作するように取得することができます
<head>
<title>My App: Please Login</title>
</head>
:
<head th:fragment="head(title)">
<title th:include="${title}">My App: <th:block th:include="${title}"></th:block></title>
</head>
しかし、Thymeleafはth:include
の使用を阻止。 From the reference:
そして、何番目の差です:挿入し、目:置き換え(と 番目は:3.0以降推奨されません、などが)?
誰かがどのようにベストプラクティスを使用して上記のように、それがレンダリングされるように(前述のように参照するには、これはth:include
を使用していないことを意味)私のテンプレートを修正する教えてもらえますか?
ああ、追加のコメント: '' head "'はおそらく '
'タグと衝突する可能性があるため、おそらく最善のフラグメント名ではありません。注意マークアップセレクタは、 'th:fragment'属性なしでフラグメントに適用できます。 –