是否可以使用 thymeleaf 扩展共享视图?
我看到可以使用 framents ,但这不是我想要的。 相反,我需要类似于.NET MVC的东西,比如 @RenderBody(),以及另一个通过包含共享视图来扩展共享视图的视图。
答案 0 :(得分:8)
您可以使用Thymeleaf Layout Dialect扩展视图。
布局页面
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
...
<body layout:fragment="body">
...
</body>
</html>
内容页面
在您的内容页面中,您使用layout:decorator
属性来引用布局(装饰器)页面。
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorator="layout.html">
...
<body layout:fragment="body">
<p>Actual page content</p>
</body>
</html>
可以在一个页面中包含多个片段。
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
...
<body>
<div layout:fragment="content"></div>
<footer layout:fragment="footer"></footer>
</body>
</html>