【问题标题】:Difference between *, $, and #*、$ 和 # 之间的区别
【发布时间】:2019-12-21 23:57:50
【问题描述】:

我是 thymeleaf 的新手,经常看到这三个运算符。 *{}${}#{}有什么区别?

我知道它们用于从 MVC 访问数据,但在什么情况下?

【问题讨论】:

    标签: spring-boot spring-mvc thymeleaf


    【解决方案1】:

    types of expressions Thymeleaf 支持是:

    1. ${...} - 变量表达式。这些是标准表达方式。
    2. *{...} - 选择变量表达式。这些与变量表达式相同,只是它们与th:object 属性结合使用。例如,如果您有<form th:object="${form}">,则表达式*{field} 解析为${form.field}。这些主要用于在创建表单时使用th:field 属性。
    3. #{...} - 消息表达式。这些表达式主要用于外化文本。例如,通过读取消息文件来提供不同语言的文本。
    4. @{...} - 链接 URL 表达式。用于生成网址,见standard url syntax
    5. ~{...} - 片段表达式。用于指定要包含的片段,请参见 fragment specification syntax

    【讨论】:

      【解决方案2】:

      documentation 提供了非常好的示例,请看一下。

      简而言之:

      ${} 用于变量表达式。变量表达式是 OGNL 表达式——如果你将 Thymeleaf 与 Spring 集成,则为 Spring EL

      *{} 用于选择表达式。选择表达式就像变量表达式一样,只是它们将在先前选择的对象上执行。

      #{} 用于消息 (i18n) 表达式。用于从外部来源检索特定于语言环境的消息

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-25
        • 2020-05-10
        • 2014-09-20
        • 2010-10-28
        • 2015-10-04
        • 2012-08-12
        • 2011-02-18
        • 2018-01-18
        相关资源
        最近更新 更多