私はthymeleaf断片を取ってその中のすべての内容を使いたいが、それを消費するページから余分な内容を追加することもある。典型的なケース:すべてのページに必要なスクリプトのrefを含むフッタテンプレートがあります。いくつかのページでは、私は別のスクリプトrefを追加したいが、すべてではない。置き換えるのではなく、どのようにThymeleafの断片に「追加」するのですか
私は私のWebアプリケーションでは、次のセットアップ(ポイントに集中する複雑さの低減)があります。
layout.html:
<html>
<body>
<div class="container">
<div fragment="content"></div>
</div>
<div th:replace="shared/footer :: footer"></div>
</body>
</html>
共有/ footer.html
<html>
<body>
<div th:fragment="footer" th:remove="tag">
<script th:src="{@/scripts/a.js}"></script>
</div>
</body>
</html>
をindex.html
<html>
<body>
<div th:fragment="content" class="myClass">
<h1>Oh hello</h1>
</div>
<!-- what do i put here?!!! -->
</body>
</html>
私がやりたい何10
はindex.htmlをから、フッターにいくつかの余分なコンテンツを追加することができます:
例:
<html>
<body>
<div class="container">
<div class="myClass">
<h1>Oh hello</h1>
</div>
</div>
<div>
<script src="/scripts/a.js"></script>
<script src="/scripts/b.js"></script>
</div>
</body>
</html>
:
<div th:addExtraStuff="footer">
<script th:ref="@{scripts/b.js"></script>
</div>
ので、最終的な結果は次のようになります
明らかにth:addExtraStuffは存在しませんが、あなたはそのアイデアを得ます。私は既存のコンテンツを望み、私自身のコンテンツを提供することができます。フラグメントにすべての可能性を置き、評価を使用して実際にその可能性を含めるかどうかを判断すると、複雑になり始めると思います。私は間違っている可能性があります。
前回の回答の恥知らずのコピーペーストのため、ダウン投票しています。 –