官网地址:https://www.thymeleaf.org/doc/articles/thymeleaf3migration.html
1、thymeleaf相关maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2、thymeleaf基础配置
#开发时关闭缓存,不然没法看到实时页面
spring.thymeleaf.cache=false
spring.thymeleaf.mode=HTML5
#前缀
spring.thymeleaf.prefix=classpath:/templates/tl/
#编码
spring.thymeleaf.encoding=UTF-8
#类型
spring.thymeleaf.servlet.content-type=text/html
#名称的后缀
spring.thymeleaf.suffix=.html
3、建立文件夹
1)src/main/resources/templates/tl/
2)建立一个index.html
4、简单测试代码编写和访问
注意:$表达式只能写在th标签内部
快速入门:https://www.thymeleaf.org/doc/articles/standarddialect5minutes.html
-------------------------------------------------------------------------------------
测试代码:
package net.xdclass.demo.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import net.xdclass.demo.domain.ServerSettings;
@Controller
@RequestMapping("/thymeleaf")
public class ThymeleafController {
@Autowired
private ServerSettings setting;
@GetMapping("/hello")
public String index(){
return "index"; //不用加后缀,在配置文件里面已经指定了后缀
}
}
index.html文件如下:
内容如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
模板引擎整合thymeleaf index.html
<h5>11111 直接访问</h5>
<h1>xdclass.net</h1>
</body>
</html>
实体类和之前类似
访问测试:
这是通过路径的映射来访问页面,由于templates目录不是SpringBoot默认启动加载的静态资源路径,若要在浏览器中直接访问templates下的页面,则需要在application.properties文件中添加配置如下:
访问测试:
注意:若页面中有th表达式,那么采用路径方式映射访问和直接访问页面,结果会不同
测试代码:
@GetMapping("info")
public String admin(ModelMap modelMap){
modelMap.addAttribute("setting", setting);
return "admin/info"; //不用加后缀,在配置文件里面已经指定了后缀
}
内容如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
模板引擎整合thymeleaf admin/info.html
<h1 >测试内容,未加th表达式</h1>
<h1 th:text="${setting.name}">测试内容</h1>
<h1>xdclass.net</h1>
</body>
</html>
路径方式映射访问
进入后台,传值,替换掉内容
直接访问页面:
不进入后台,不会替换值