用Thymeleaf扩展视图

Mar*_*ali 4 spring spring-mvc razor thymeleaf

是否有可能延长与百里香的共同观点?

我看到有可能使用framents但不是我想要的.相反,我想要一些类似于.NET MVC的东西,比如@RenderBody()和另一个通过包含共享视图来扩展共享视图的视图.

Tom*_*lst 9

您可以使用Thymeleaf布局方言来扩展视图.

布局页面

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout">
    ...
    <body layout:fragment="body">
      ...
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

内容页

在您的内容页面中,您使用该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>
Run Code Online (Sandbox Code Playgroud)

在一个页面中可以有多个片段.

<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>
Run Code Online (Sandbox Code Playgroud)

  • Rythm是一个通用的模板引擎,而Thymeleaf是一个XML/XHTML/HTML5模板引擎.Rythm可能更快,但现在渲染视图的成本可以忽略不计.Thymeleaf将为您提供更清晰的模板和模板验证,从而提高生产力.但无论如何漂浮你的船:). (3认同)