*、$ 和 # 之间的区别

pma*_*ais 2 spring-mvc thymeleaf spring-boot

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

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

Met*_*ids 8

类型的表达式Thymeleaf支持是:

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