th:field =“ $ {something}”和th:field =“ * {something}”之间有什么区别?

时间:2019-11-21 14:15:01

标签: spring-boot thymeleaf

我是百里香的新手,我不了解th:field="${something}"th:field="*{something}"之间的区别。何时使用*,何时使用$?

1 个答案:

答案 0 :(得分:1)

引用百里香文档

  

可变表达式不仅可以用$ {...}表达式编写,   而且还有* {...}个。

     

但是有一个重要的区别:星号语法   计算所选对象上的表达式,而不是整个对象   上下文变量映射。这是:只要没有选择   对象,美元和星号的语法完全相同。

摘自 4.3所选内容的表达式(星号语法)部分中的here

从技术上讲,区别在于如果您选择了一个对象 像这样th:object="${session.user} 然后可以将*用作用户对象的属性 像这样th:text="*{lastName}"

如果您尚未选择对象,则它们是相同的。