Thymeleaf是一个java类库,他是一个xml/xhtml/html5的模板引擎和Struts框架的freemarker模板类似,可以作为mvc的web应用的view层。
Thymeleaf还提供了额外的模块与Spring MVC集成,所以我们可以使用Thymeleaf完全替代jsp。
spring Boot
通过org.springframework.boot.autoconfigure.thymeleaf包对Thymeleaf进行了自动配置。
通过ThymeleafAutoConfiguration类对集成所需要的bean进行自动配置。包括templateResolver,templateEngine,thymeleafViewResolver的配置。
1.pom.xml中添加
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
自动下载thymeleaf的jar包,然后update Project.
2.application.properties中添加thymeleaf配置文件
#Thymeleaf spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffix=.html spring.thymeleaf.mode=HTML5 spring.thymeleaf.encoding=UTF-8 # ;charset=<encoding> is added #spring.thymeleaf.content-type=text/html #set to false for hot refresh spring.thymeleaf.cache=false
3.之后写一个测试
a.在项目目录下找src/main/resources/templates新建一个dome.html测试网页,注意要在头部引用
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"> ,不然找不到网页。
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"> <head> <title th:text="${title}"></title> </head> <body> <p th:text="${gr}"></p> </body> </html>
b.写测试controller层Thymeleaf.class类
package com.hxzy.myblog.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class Thymeleaf { @RequestMapping("/hi") public String helloHtml(Model model){ model.addAttribute("title","Thymeleaf"); model.addAttribute("gr","大家好"); return "dome"; } }
4.总结:
1.注意html中标签必须严格闭合
2.html中一对标签中使用thymeleaf,用th:text="${title}",title就加在标签内,如
<title th:text="${title}"></title> 。