模板引擎
1、市面上主流的 Java 模板引擎有:JSP、Velocity、Freemarker、Thymeleaf
2、以前开发 web 项目时,只需将静态的 "html” 页面后缀名修改为“jsp”,然后在文件中加入jsp页面标识即可做jsp开发
4、Spring Boot 开发的web项目采用打jar包的方式,且使用的是内置的Tomcat,所以默认是不支持jsp的,但可以使用其它的模板引擎
5、模板引擎原理图如下,模板引擎的作用都是将模板(页面)和数据进行整合然后输出显示,区别在于不同的模板使用不同的语法,如 JSP 的JSTL表达式,以及J SP 自己的表达式和语法,同理 Thymeleaf 也有自己的语法但是。Spring Boot 官方推荐使用 Thymeleaf 模板引擎
Thymeleaf
1、Thymeleaf 官网:https://www.thymeleaf.org/
2、Thymeleaf 在Github 的主页:https://github.com/thymeleaf/thymeleaf
使用 Thymeleaf & 语法
SpringBoot 对 Thymeleaf 模板引擎的支持也很简单:只需要在 pom.xml 引入此模块即可
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
@ConfigurationProperties(prefix = "spring.thymeleaf")
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;
private boolean cache;
private Integer templateResolverOrder;
private String[] viewNames;
private String[] excludedViewNames;
private boolean enableSpringElCompiler;
private boolean renderHiddenMarkersBeforeCheckboxes;
private boolean enabled;
private final ThymeleafProperties.Servlet servlet;
private final ThymeleafProperties.Reactive reactive;
小结:只要我们把HTML页面放在classpath:/templates/
,thymeleaf就能自动渲染;
使用
1、导入thymeleaf的名称空间
<html lang="en" xmlns:th="http://www.thymeleaf.org">
2、使用thymeleaf语法;
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>成功!</h1>
<!--th:text 将div里面的文本内容设置为 -->
<div th:text="${hello}">这是显示欢迎信息</div>
</body>
</html>
语法规则
这里我给大家推荐几篇好的文章。我就不一一介绍了,但还是 推荐大家看官方文档。