来自官方手册
设定命名空间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.~{...} :引入公共片段时可选择使用