为什么用模板引擎
springboot中是用jar的方式,不是war,而且使用的嵌入式tomcat,默认不支持jsp,如果使用纯静态又非常麻烦,所以springboot推荐你使用模板引擎(jsp就是一个模板引擎)。
模板引擎的作用
把后台封装的数据和页面模板交给模板引擎,模板引擎会按照我们的数据把这表达式解析、填充,最终生成我们想要的内容。
使用Thymeleaf
引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
找到Thymeleaf自动配置类 //直接搜class名
public class ThymeleafProperties {
private static final Charset DEFAULT_ENCODING;
public static final String DEFAULT_PREFIX = "classpath:/templates/";
public static final String DEFAULT_SUFFIX = ".html";
private boolean checkTemplate = true;
private boolean checkTemplateLocation = true;
private String prefix = "classpath:/templates/";
private String suffix = ".html";
private String mode = "HTML";
private Charset encoding;
}
找到前缀后缀,把我们的html页面放到对应的路径(/templates/),thymeleaf会自动进行渲染,无需任何配置。
测试
- TestController
@Controller public class TestController { @RequestMapping("/test01") public String test01(){ return "test01"; } }
- 新建test01.html放到路径下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>Testttt</h1> </body> </html>
- 启动项目请求接口,会跳转到该页面
Thymeleaf练习
要使用thymeleaf,要在html文件html标签中导入命名空间的约束
xmlns:th="http://www.thymeleaf.org"
练习
1.增加传输数据
@RequestMapping("/test")
public String test1(Model model){
//添加数据
model.addAttribute("msg","Hello,Thymeleaf");
return "test";
}
2.绑定
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>测试01</title>
</head>
<body>
<h1>测试</h1>
<!--th:text就是把div中的内容设置指定的值-->
<div th:text="${msg}"></div>
</body>
</html>
3.结果