thymeleaf
-
springboot默认打包为jar包,jar包是一个压缩包,但是jsp不支持在压缩包内编译,因此springboot默认不支持jsp
-
Spring官方支持的服务的渲染模板有Thymeleaf和Freemarker等,Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎
-
缺点:Thymeleaf效率不高
表达式
引入Thymeleaf的starter
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
在html文件中引入命名空间
<html lang="en" xmlns:th="http://www.thymeleaf.org">
例子
success.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1 th:text="${msg}">啊哈哈</h1>
<h2><a href="www.baidu.com" th:href="${link}">去百度</a></h2>
</body>
</html>
ViewController:
@Controller
public class ViewController {
@RequestMapping("/haha")
public String haha(Model model){
//model中的数据会被自动放到请求域中,相当于request.setAttribute("a",aa)
model.addAttribute("msg","你好");
model.addAttribute("link","https://www.bilibili.com");
return "success";
}
}
全局配置文件中配置Thymeleaf模板的一些参数
spring.thymeleaf.cache = true #启用模板缓存
spring.thymeleaf.encoding = UTF-8 #模板编码
spring.thymeleaf.mode = HTML5 #应用于模板的模板模式
spring.thymeleaf.prefix = classpath:/templates/ #指定模板页面存放路径
spring.thymeleaf.suffix = .html #指定模板页面名称的后缀
-
pring.thymeleaf.cache表示是否开启Thymeleaf模板缓存,默认为true,在开发过程中通常会关闭缓存,保证项目调试过程中数据能够及时响应;
-
spring.thymeleaf.prefix指定了Thymeleaf模板页面的存放路径,默认为classpath:/templates/;
-
spring.thymeleaf.suffix指定了Thymeleaf模板页面的名称后缀,默认为.html