Thymeleaf 3.0教程:8 模板布局(五)
8.5 布局继承
为了能够将单个文件作为布局,可以使用片段。使用th:fragment和th:replace的具有标题和内容的简单布局示例:
<!DOCTYPE html>
<html th:fragment="layout (title, content)" xmlns:th="http://www.thymeleaf.org">
<head>
<title th:replace="${title}">Layout Title</title>
</head>
<body>
<h1>Layout H1</h1>
<div th:replace="${content}">
<p>Layout content</p>
</div>
<footer>
Layout footer
</footer>
</body>
</html>该示例声明了一个名为layout的片段,该片段以标题和内容作为参数。两者都将在继承它的页面上被下面示例中提供的片段表达式替换。
<!DOCTYPE html>
<html th:replace="~{layoutFile :: layout(~{::title}, ~{::section})}">
<head>
<title>Page Title</title>
</head>
<body>
<section>
<p>Page content</p>
<div>Included on page</div>
</section>
</body>
</html>在这个文件中,html标签将被布局替换,但是在布局中标题和内容将分别被标题块和节块替换。
如果需要,布局可以由几个片段组成,如页眉和页脚。