欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

thymeleaf 语法

程序员文章站 2022-05-01 23:06:30
...

使用

  • 引入提示
<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)
相关标签: thymeleaf语法