2017-08-04 97 views
0

我是新来的Thymeleaf,我想知道是否标签th:插入th:取代绝对需要引用一个片段。是否正确使用th:replace/th:insert而不使用碎片?

下面是一个例子,我想包括父模板里面整个页面menu.html

<!DOCTYPE html> 
<html> 
    <body> 
     <th:block th:replace="child/menu"></th:block> 
    </body> 
</html> 

这里是孩子的菜单模板menu.html

<ul> 
    <li>Menu 1</li> 
    <li>Menu 2</li> 
</ul> 

它工作正常,但我没有在文档中找到像这样的任何示例,每个参考th:替换使用这样的片段调用th:replace="child/menu :: menu",所以我想知道如果我的代码是正确的

回答

1

你的代码是好的。简单的证明就是试图将嵌入的网页中使用Thymeleaf表达式:

<ul> 
    <li th:text="${attrValue}"></li> 
</ul> 

如果你通过你的初始模板attrValue模型属性,如果没有问题的作品。您甚至不必在您的menu.html页面中指定Thymeleaf模式URL。

+0

是的我知道它的工作原理,我目前使用它,并没有错误。在他们的文档中,他们使用'th:replace'系统地分割片段,所以我想知道我的代码是否符合框架并且不是一个坏习惯 –

+1

也许你应该只添加带有Thymeleaf模式URL的HTML标签,就像Thymeleaf表达式可以被现代IDE认可。但我没有看到你的方法有任何特别的问题。 –