变量表达式
${session.user.name}
选择或星号表达式
*{customer.name}
文字国际化表达式
#{main.title}
URL 表达式
@{/order/list}
关键字 | 功能介绍 | 案例 |
---|---|---|
th:id | 替换id | `` |
th:text | 文本替换 |
description
|
th:utext | 支持html的文本替换 |
conten
|
th:object | 替换对象 | `` |
th:value | 属性赋值 | `` |
th:with | 变量赋值运算 | `` |
th:style | 设置样式 |
th:style="'display:' + @{(${sitrue} ? 'none' : 'inline-block')} + ''"
|
th:onclick | 点击事件 |
th:onclick="'getCollect()'"
|
th:each | 属性赋值 |
tr th:each="user,userStat:${users}">
|
th:if | 判断条件 | `` |
th:unless | 和th:if判断相反 |
Login
|
th:href | 链接地址 |
Login />
|
th:switch | 多路选择 配合th:case 使用 | `` |
th:case | th:switch的一个分支 |
User is an administrator
|
th:fragment | 布局标签,定义一个代码片段,方便其它地方引用 | `` |
th:include | 布局标签,替换内容到引入的文件 |
/>
|
th:replace | 布局标签,替换整个标签到引入的文件 | `` |
th:selected | selected选择框 选中 |
th:selected="(${xxx.id} == ${configObj.dd})"
|
th:src | 图片类地址引入 | `` |
th:inline | 定义js脚本可以使用变量 | `` |
th:action | 表单提交的地址 | `` |
th:remove | 删除某个属性 | |
th:attr | 设置标签属性,多个属性可以用逗号分隔 |
比如 th:attr="src=@{/image/aa.jpg},title=#{logo}"
,此标签不太优雅,一般用的比较少。 |
引入依赖
compile('org.springframework.boot:spring-boot-starter-thymeleaf')
创建模板
template 文件夹下新建 login.html:
<!doctype html> <!--注意:引入thymeleaf的名称空间--> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <p th:text="'hello SpringBoot'">hello thymeleaf</p> </body> </html>
package com.hncj.spring.boot.thymeleaf.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller // 如果是 Rest 怎么办? new ModelAndView("index") public class IndexController { @GetMapping("home") public String index() { return "index"; } }
Thymeleaf 使用详解