Thymeleaf标准语法

来自官方手册

设定命名空间xmlns:th=http://www.thymeleaf.org


th:

1.th:text 属性:将用该属性的值覆盖掉其中的html文本节点

2.th:href 属性:将用该属性的值覆盖掉html中href属性的值

3.th:attr="src=xxx.png, class=xx" 覆盖对应的属性值,多个设置之间用逗号隔开。
引号自动处理,也就是最终的html是:src="xxx.png", "class=xx"这样
字符串中用到# * + " $等在Thymeleaf有特殊意义的符号时,使用| |包起来


标准表达式语法:字符串中$*#@~后接{}的作用

${...} : Variable expressions. 变量(对象)
*{...} : Selection expressions. 对象的属性
#{...} : Message (i18n) expressions. 国际化消息表达
@{...} : Link (URL) expressions. 与url相关
~{...} : Fragment expressions. 引入公共片段

1.${...}:
th:text="${obj}"把变量值用到这里

2.*{...}:
相对于对象的属性值。即前面设定了th:object时,th:text="*{prop}"中prop是前面对象的属性。

3.#{...}:
根据语言自动选择显示哪个properties中的值,比如home_zh_CN.properties、home_en.properties。
此外,能够像MessageFormat那样使用占位符{0}这些来使用,占位符可用变量表达式。即
home.welcome=Hello {0}(properties中)
#{ home.welcome(${val}) }将用变量val的值替换掉{0}。语法格式显然易见。

4.@{...} :
提供强大的url处理。如开发中href="/a.html",将跳转到根路径下的a.html。但是放到tomcat等外部组件中时,可能需要项目名字,即href="webapp/a.html"这样才是正确的。为了解决这个问题,模板引擎提供@{...}来表示项目根路径,即在需要时href="@{/a.html}"将自动变为href="webapp/a.html"
此外还支持../这样的上层目录,支持内部直接使用变量表达等等。

5.~{...} :引入公共片段时可选择使用

你可能感兴趣的:(Thymeleaf标准语法)