##模板引擎
-模板引擎的作用都是将模板(页面)和数据进行整合然后输出显示,区别在于不同的模板使用不同的语法,如 JSP 的JSTL表达式,以及J SP 自己的表达式和语法,同理 Thymeleaf 也有自己的语法
##Spring boot 引入Thymeleaf
1、引入
使用thymeleaf只需要在pom.xml中引入以下模块即可
<!--thymeleaf-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2、找到它的自动配置文件即可查看它的使用规则
在autoconfigure/ thymeleaf下的:ThymeleafProperties.class
从上面就可以发现,默认只要把 HTML 页面放在 classpath:/templates/ 下,thymeleaf 就能自动渲染, 而classpath:/templates/ 目录以外的 html 文件是无法使用 Thymeleaf 引擎的。
##下面来写一个小Demo
目录结构:
Controller层:
@Controller
public class HelloController {
@RequestMapping("/hello")
public String Hello(Map<String, Object> paramMap) {
// 默认Map的内容会放到请求域中,页面可以直接取值
paramMap.put("name", "王五");
paramMap.put("id", 17);
// 会自动跳转到默认的 classpath:/templates/hello.html 页面
return "hello";
}
}
html页面:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>hello</title>
</head>
<body>
<h1>登录</h1>
姓名:<span th:text="${name}"></span><br>
学号:<span th:text="${id}"></span>
</body>
</html>
其中<html lang=“en” xmlns:th="http://www.thymeleaf.org">作用是导入thymeleaf的名称空间,让IDEA编辑器有Thymeleaf语法提示,可不写。
测试一把:
浏览器访问:http://localhost:8080/hello
完成!