目录

Spring Boot 使用 Thymeleaf

目录
  • 变量表达式

    ${session.user.name}
    
  • 选择或星号表达式

    *{customer.name}
    
  • 文字国际化表达式

  • 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}",此标签不太优雅,一般用的比较少。
  1. 引入依赖 compile(‘org.springframework.boot:spring-boot-starter-thymeleaf’)

  2. 创建模板

template 文件夹下新建 login.html:

特别注意引入名称空间 xmlns:th="http://www.thymeleaf.org"

<!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>
  1. 编写控制器
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";
    }
}
  1. 访问即可

Thymeleaf 使用详解