【问题标题】:What is the difference between th:field="${something}" and th:field="*{something}"?th:field="${something}" 和 th:field="*{something}" 有什么区别?
【发布时间】:2019-11-21 14:15:01
【问题描述】:

我是 thymeleaf 的新手,我不明白 th:field="${something}" 和 th:field="*{something}" 之间的区别。什么时候用*,什么时候用$?

【问题讨论】:

标签: spring-boot thymeleaf


【解决方案1】:

引用百里香文档

变量表达式不仅可以写成${...}表达式, 但也存在于 *{...} 中。

但是有一个重要的区别:星号语法 评估选定对象上的表达式而不是整体 上下文变量映射。这是:只要没有选中 对象、美元和星号语法完全相同。

来自4.3 选择表达式(星号语法)部分中的here。

技术上的区别在于,如果您选择了一个对象 像这样th:object="${session.user} 那么您可以使用 * 来表示用户对象的属性 像这样th:text="*{lastName}"

如果您没有选择对象,它们是相同的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-11
    • 2013-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 2012-12-31
    相关资源
    最近更新 更多