thymeleaf 中${...}、*{...}、#{...} 有什么区别?

发布时间 2023-11-24 22:12:08作者: ahguo

在 Thymeleaf 模板引擎中,${...}*{...}#{...} 是不同类型的表达式,用于在模板中嵌入动态内容。

  1. ${...} 表达式:

    • ${...} 表达式用于在模板中输出变量的值。它允许您将变量的值直接输出到 HTML 页面上。例如:${user.name} 将会输出 user 对象中的 name 属性的值。
  2. *{...} 表达式:

    • *{...} 表达式用于绑定表单字段和对象的属性。它通常与表单字段一起使用,帮助 Thymeleaf 在处理表单数据时进行数据绑定。例如:<input type="text" th:field="*{username}" />,这会将表单字段和对象的 username 属性进行绑定。
  3. #{...} 表达式:

    • #{...} 表达式用于获取国际化消息(Internationalization)。它允许您在模板中引用定义的多语言消息。例如:#{welcome.message} 将会从配置的消息源中获取 welcome.message 的多语言消息。

这些表达式在 Thymeleaf 中各自有不同的作用和用途,它们用于处理模板中的动态内容、表单绑定以及国际化消息。通过使用这些不同的表达式,您可以更灵活地在模板中操作和展示动态数据、处理表单以及支持多语言消息。