什么是模板引擎
以前用ajax获取数据,在自己拼接到前端页面 是一种前后端交互的方式
模板引擎也是一种前后端交互的方式。
jsp也是一种模板引擎,非常老的技术
为什么要使用模板引擎
我们通过ajax获取到数据后,需要把数据渲染到页面,在学习模板引擎前,我们的做法是大量的拼接字符串,对于结构简单的页面,这么做还行
但是如果页面结构很复杂,使用拼串的话代码可阅读性非常的差,而且非常容易出错,后期代码维护也是相当的麻烦。
什么是Thymeleaf
Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。它与 JSP,Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web 框架集成。与其它模板引擎相比,Thymeleaf 最大的特点是,即使不启动 Web 应用,也可以直接在浏览器中打开并正确显示模板页面 。
视频教学
【狂神说Java】SpringBoot最新教程IDEA版通俗易懂_哔哩哔哩_bilibili
一、创建一个SpringBoot项目
二、引入依赖
<!--模板引擎Thymleaf 整合-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>net.sourceforge.nekohtml</groupId>
<artifactId>nekohtml</artifactId>
<version>1.9.22</version>
</dependency>
三、配置
在下面文件中配置,先把它的格式改成.yml的格式
src/main/resources/application.yml
spring:
thymeleaf:
cache: false # 关闭页面缓存
encoding: UTF-8 # 模板编码
prefix: classpath:/templates/ # 页面映射路径
suffix: .html # 试图后的后缀
mode: HTML5 # 模板模式
使用规则
1.前端文件必须在templates的文件夹下
2.前端文件的后缀名必须是html
3.静态资源都要放在static文件夹里面
实现页面跳转
1.在resources下新建templates文件夹(不要忘记引入上面的依赖)
2.在里面新建一个home.html的文件,随便写点效果
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<title>hello</title>
</head>
<body>
就这吗?这么简单?
</body>
</html>
3.controller层,随便写一个controller
/**
* 通过模板引擎Thymleaf进行前后端交互
* return后面 自动识别到resources/templates里面的html文件
* @return
*/
@RequestMapping("/home")
public String home() {
return "home";
}
controller层的方法的return的里面就写templates里面html的名称
就能自动识别到对应的前端页面
注意
不要在这个方法上面加上 @ResponseBody 注解
加上之后就变成和SpringBoot快速入门里面的helloword一样了
就会直接显示引号的内容,而不是显示hello.html的文件
4.启动项目,并访问对应路径,就能显示hello.html的内容了