【发布时间】:2019-11-21 14:15:01
【问题描述】:
我是 thymeleaf 的新手,我不明白 th:field="${something}" 和 th:field="*{something}" 之间的区别。什么时候用*,什么时候用$?
【问题讨论】:
-
@Varun 如果您发现我的回答有帮助并解决了您的问题,您可以将其标记为已接受的答案。
标签: spring-boot thymeleaf
我是 thymeleaf 的新手,我不明白 th:field="${something}" 和 th:field="*{something}" 之间的区别。什么时候用*,什么时候用$?
【问题讨论】:
标签: spring-boot thymeleaf
引用百里香文档
变量表达式不仅可以写成${...}表达式, 但也存在于 *{...} 中。
但是有一个重要的区别:星号语法 评估选定对象上的表达式而不是整体 上下文变量映射。这是:只要没有选中 对象、美元和星号语法完全相同。
来自4.3 选择表达式(星号语法)部分中的here。
技术上的区别在于,如果您选择了一个对象
像这样th:object="${session.user}
那么您可以使用 * 来表示用户对象的属性
像这样th:text="*{lastName}"
如果您没有选择对象,它们是相同的。
【讨论】: