【发布时间】:2014-03-06 00:36:55
【问题描述】:
是否可以使用 thymeleaf 扩展共享视图?
我看到可以使用 framents 但这不是我想要的。 相反,我想要类似于 .NET MVC 的东西,例如 @RenderBody() 和另一个通过包含共享视图来扩展共享视图的视图。
【问题讨论】:
标签: spring spring-mvc razor thymeleaf
是否可以使用 thymeleaf 扩展共享视图?
我看到可以使用 framents 但这不是我想要的。 相反,我想要类似于 .NET MVC 的东西,例如 @RenderBody() 和另一个通过包含共享视图来扩展共享视图的视图。
【问题讨论】:
标签: spring spring-mvc razor thymeleaf
您可以使用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>
【讨论】: