开发学院

您的位置:首页>教程>正文

教程正文

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标签将被布局替换,但是在布局中标题和内容将分别被标题块和节块替换。

  如果需要,布局可以由几个片段组成,如页眉和页脚。