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.~{...} :引入公共片段时可选择使用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容