我是Thymeleaf的新手,我想知道标签 th:insert 或 th:replace 是否绝对需要引用片段。
以下是一个示例,我想在父模板中包含整个页面menu.html
:
<!DOCTYPE html>
<html>
<body>
<th:block th:replace="child/menu"></th:block>
</body>
</html>
以下是子菜单模板menu.html
:
<ul>
<li>Menu 1</li>
<li>Menu 2</li>
</ul>
它工作正常,但我在文档中找不到这样的例子,每个对 th:replace 的引用都是使用像th:replace="child/menu :: menu"
这样的片段调用的,所以我是想知道我的代码是否正确
答案 0 :(得分:1)
你的代码很好。简单的证明就是尝试在可嵌入页面中使用Thymeleaf表达式:
<ul>
<li th:text="${attrValue}"></li>
</ul>
如果您在初始模板中传递attrValue
模型属性,则无问题。您甚至不必在menu.html
页面中指定Thymeleaf架构URL。
答案 1 :(得分:0)
这是一个可以理解的例子 假设这是片段
我们在这些div中使用了
所以最终输出:
<div id="tagWithFragmentAttribute">
<div id="contentGoesHere"></div>
</div>
<div id="tagWithInsertAttribute">
<div id="tagWithFragmentAttribute">
<div id="contentGoesHere"></div>
</div>
</div>
<div id="tagWithIncludeAttribute">
<div id="contentGoesHere"></div>
</div>