包含模板片段
实际中,经常需要包含代码片段,比如footer,header,menu等
定义代码片段
th:fragment
例如定义一个footer,如下:
<!DOCTYPE html>
<html xmlns:th=“ http://www.thymeleaf.org” >
<body>
<div th:fragment=“ copy” >
© 2011 The Good Thymes Virtual Grocery
</div>
</body>
</html>
如果某页面需要包含footer,则使用 th:insert或者th:replace,从Thymeleaf 3.0开始,不推荐使用th:include
插入片段例子:
<body>
…
<div th:insert=“ \~{footer :: copy}” ></div>
</body>
插入片段的三种语法:
\~{templatename::selector}— \~{templatename::fragmentname} 引用模板中的一个片段,一个区域
\~{templatename} 引用一个完整的模板
\~{::selector}” or “ \~{this::selector}” 引用本模板页中的片段
也可以使用id进行引用:
<div id=“ copy-section” >
© 2011 The Good Thymes Virtual Grocery
</div>
<body>
…
<div th:insert=“ \~{footer :: #copy-section}” ></div>
</body>
th:insert 和 th:replac**e区别**
th:insert,是最简单的,只是插入相关的片段
th:replace 用指定的替换现在的标签片段
th:insert 只是插入指定片段的内容
如下:片段:
<footer th:fragment=“ copy” >
© 2011 The Good Thymes Virtual Grocery
</footer>
插入替换:
<body>
…
<div th:insert=“ footer :: copy” ></div>
<div th:replace=“ footer :: copy” ></div>
<div th:include=“ footer :: copy” ></div>
</body>
结果:
<body>
…
<div>
<footer>
© 2011 The Good Thymes Virtual Grocery
</footer>
</div>
<footer>
© 2011 The Good Thymes Virtual Grocery
</footer>
<div>
© 2011 The Good Thymes Virtual Grocery
</div>
</body>