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标签将被布局替换,但是在布局中标题和内容将分别被标题块和节块替换。
如果需要,布局可以由几个片段组成,如页眉和页脚。