主流的模板引擎有jsp,Velocity,Freemarker,Thymeleaf。
springBoot似乎对JSP的支持性不是很好,如果使用,还要引入别的依赖,而这篇文章主要介绍Thymeleaf
SpringBoot推荐的Thymeleaf,语法更简单,功能更强大。
1.首先,引入相关依赖:
<!-- 引入 Thymeleaf模板引擎 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
2. Thymeleaf使用和语法
@ConfigurationProperties(prefix = "spring.thymeleaf")
public class ThymeleafProperties {
private static final Charset DEFAULT_ENCODING = StandardCharsets.UTF_8;
public static final String DEFAULT_PREFIX = "classpath:/templates/";
public static final String DEFAULT_SUFFIX = ".html";
请看:默认规则:只要我们把html页面放在classpath:/ templates目录下,thymeleaf就能自动渲染。
例如:在控制器中添加一个新的方法:
@RequestMapping("success")
public String success(){
return "success";
}
在模板目录下新建一个success.html,然后启动项目,访问,localhost:8080 / sucess,就能访问到success.html页面。
使用:
1.导入Thymeleaf的名称空间:<html lang =“en”xmlns:th =“http://www.thymeleaf.org”>
2.使用Thymeleaf语法;
后台给他返回个数据:
// 在页面展示一些数据
@RequestMapping("success")
public String success(Map<String,Object> map){
map.put("hello","您好!");
return "success";
}
前台页面:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>成功</title>
</head>
<body>
<h1>成功</h1>
<div th:text="${hello}"></div>
</body>
</html>
3.语法规则
1)th:text;改变当前元素
未完待续......