美文网首页
Thymeleaf标准语法

Thymeleaf标准语法

作者: codeflame | 来源:发表于2018-09-28 17:11 被阅读0次

    来自官方手册

    设定命名空间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标准语法

          本文链接:https://www.haomeiwen.com/subject/wrayoftx.html