- 认识 Thymeleaf
- 表达式
- 标准变量表达式
- 选择变量表达式
- 链接表达式(URL表达式)
- Thymeleaf属性
Thymeleaf 是一个流行的模板引擎,该模板引擎采用 Java 语言开发
模板引擎是一个技术名词,是跨领域跨平台的概念,在 Java 语言体系下有模板引擎,在
C#、PHP 语言体系下也有模板引擎,甚至在 JavaScript 中也会用到模板引擎技术,Java 生态下
的模板引擎有 Thymeleaf 、Freemaker、Velocity、Beetl(国产) 等。
Thymeleaf 对网络环境不存在严格的要求,既能用于 Web 环境下,也能用于非 Web 环境
下。在非 Web 环境下,他能直接显示模板上的静态数据;在 Web 环境下,它能像 Jsp 一样从
后台接收数据并替换掉模板上的静态数据。它是基于 HTML 的,以 HTML 标签为载体,
Thymeleaf 要寄托在 HTML 标签下实现。
Spring Boot 集成了 Thymeleaf 模板技术,并且 Spring Boot 官方也推荐使用 Thymeleaf 来
替代 JSP 技术,Thymeleaf 是另外的一种模板技术,它本身并不属于 Spring Boot,Spring Boot
只是很好地集成这种模板技术,作为前端页面的数据展示,在过去的 Java Web 开发中,我们
往往会选择使用 Jsp 去完成页面的动态渲染,但是 jsp 需要翻译编译运行,效率低
Thymeleaf 的官方网站:http://www.thymeleaf.org
Thymeleaf 官方手册:https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html
表达式表达式是在页面获取数据的一种 thymeleaf 语法。类似 ${key}
标准变量表达式注意:th:text=“” 是 Thymeleaf 的一个属性,用于文本的显示
语法: ${key}
说明:标准变量表达式用于访问容器(tomcat)上下文环境中的变量,功能和 EL 中的 ${} 相
同。Thymeleaf 中的变量表达式使用 ${变量名} 的方式获取 Controller 中 model 其中的数据。
也就是 request 作用域中的数据。
1.创建SysUser类
package com.liu.bean;
public class SysUser {
private Integer id;
private String name;
private Integer age;
public SysUser() {
}
public SysUser(Integer id, String name, Integer age) {
this.id = id;
this.name = name;
this.age = age;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "SysUser{" +
"id=" + id +
", name='" + name + ''' +
", age=" + age +
'}';
}
}
2.Controller添加方法
@Controller
@RequestMapping("/thy")
public class ThynleafController {
GetMapping("/expression")
public String expression(Model model){
// 添加简单类型的数据
model.addAttribute("site","www.bjpowernode.com");
// 对象类型
model.addAttribute("myUser",new SysUser(1001,"王世超",20));
return "01-express";
}
}
3.创建模版文件 01-expression
标准网站
标准表达式 ${key}
xxx网站
选择变量表达式
语法:*{key}
说明:需要配和 th:object 一起使用。选择变量表达式,也叫星号变量表达式,使用 th:object 属
性来绑定对象,选择表达式首先使用 th:object 来绑定后台传来的对象,然后使用 * 来代表这
个对象,后面 {} 中的值是此对象中的属性。
选择变量表达式 *{…} 是另一种类似于标准变量表达式 ${…} 表示变量的方法
选择变量表达式在执行时是在选择的对象上求解,而${…}是在上下文的变量 model 上求解
1.Controller添加方法
@GetMapping("/expression1")
public String expression1(Model model){
// 添加简单类型的数据
model.addAttribute("site","www.bjpowernode.com");
// 对象类型
model.addAttribute("myUser",new SysUser(1002,"潘天硕",20));
return "02-express";
}
2.创建模版文件 02-expression2
Title
学习选择表达式
链接表达式(URL表达式)
语法:@{链接 url}
说明:主要用于链接、地址的展示,可用于**


