thymeleaf 语法

使用

  • 引入提示
<html lang="en" xmlns:th="http://www.thymeleaf.org">

语法规则

  • th: 常用语法
    • 片段包含 th:insert,th:replace
    • 遍历 th:each
    • 条件判断 th:if, th:unless, th:switch, th:case
    • 声明变量 th:object, th:with
    • 任意属性修改支持prepend,append th:attr,th:attrprepend,th:attrappend
    • 修改指定属性默认值 th:value, th:href, th:src, th:...
    • 修改标签体内容 th:text (转义特殊字符), th:utext (不转义)
    • 声明片段 th:fragment
    • 移除片段 th:remove
  • 表达式

    • ${} ONGL标准语法
      • 获取对象的值${object.name}
      • 调用方法${object.getName()}
      • 使用内置的基本对象 #ctx#vars#locale#request#response#session#servletContext
        例如: ${#locale.country}
      • 内置的工具对象…
    • *{}
      等同于${} , 在其基础上又增加一项:

      <div th:object="${session.user}">
          <p>Name: <span th:text="*{firstName}">Sebastian</span>.</p>
          <p>Surname: <span th:text="*{lastName}">Pepper</span>.</p> 
          <p>Nationality: <span th:text={nationality}">Saturn</span>.</p>
      </div> 
      等价于
      <div>
          <p>Name: <span th:text="${session.user.firstName}">Sebastian</span>.</p> 
          <p>Surname: <span th:text="${session.user.lastName}">Pepper</span>.</p> 
          <p>Nationality: <span th:text="${session.user.nationality}">Saturn</span>.</p>
      </div>
      当然了,这两者可以混合使用
      还有一种方式
      <div>
          <p>Name: <span th:text="*{session.user.name}">Sebastian</span>.</p> 
          <p>Surname: <span th:text="*{session.user.surname}">Pepper</span>.</p> 
          <p>Nationality: <span th:text="*{session.user.nationality}">Saturn</span>.</p>
      </div>  
    • #{} 获取国际化内容

    • @{} 定义URL

      <a href="details.html"th:href="@{http://localhost:8080/gtvg/order/details(orderId=${o.id})}">view</a> 
      
      <a href="details.html" th:href="@{/order/details(orderId=${o.id})}">view</a>
      
      <a href="details.html" th:href="@{/order/{orderId}/details(orderId=${o.id})}">view</a>
    • ~{} 片段引用表达式

    • 变量
    分类示例
    文本‘one text’ , ‘Another one!’ ,…
    数字0 , 34 , 3.0 , 12.3 ,…
    真假true , false
    文字符号one , sometext , main ,…
    • 字符连接
    分类示例
    +‘The name is ‘+${name}
    The name is ${name}
    • 算数运算
    分类示例
    +, -, *, /, %二元运算符
    -减号(一元运算符)
    • 真假运算
    分类示例
    and , or二元运算符
    ! , not否定(一元运算符)
    • 比较运算
    分类示例
    , <, >=, <= (gt, lt, ge, le)
    比较
    == , != ( eq , ne )平等
    • 条件运算
    分类示例
    if-then(if) ? (then)
    if-then-else(if) ? (then) : (else)
    Default(value) ?: (defaultvalue)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值