Thymeleaf

1.模板引擎

前端交给我们的页面是html页面,以前开发,我们需要将html转成jsp页面,jsp好处就是当我们查出一下数据转发到jsp页面以后,我们可以用jsp轻松实现数据的显示及交互等。

jsp支持非常强大的功能,包括能写java代码,SpringBoot项目首先是以jar的方式,不是war,同时我们使用的还是嵌入式的Tomcat,所以默认是不支持jsp的。

因此,SpringBoot推荐可以使用的模板引擎

模板引擎,其实jsp就是一个模板引擎,还有以前用的比较多的freemarker,包括SpringBoot推荐的Thymeleaf,模板引擎非常多,但他们的思想是一样的,模板引擎的思想是什么呢

 模板引擎的作用就是我们来写一个页面模板,有些值是动态的,我们写一些表达式

这些动态的值,从哪里来?

我们在后台封装一些数据,然后把这个模板和数据交给我们模板引擎,模板引擎按照我们这个数据帮你把表达式解析,填充到我们制定的位置,把这个数据最终生成一个我们想要的内容给我们写出去,这就是我们这个模板引擎的思想。

2.引入Thymeleaf

怎么引入Thymeleaf呢?对于springboot来说,什么事都是一个start的事情。

Thymeleaf官网:https://www.thymeleaf.org/

找到对应的pom依赖,点击进入查看源码

1 <!--thymeleaf--> 
2 <dependency> 
3     <groupId>org.springframework.boot</groupId> 
4     <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>

Maven会自动下载jar包

3. thymeleaf分析

引入thymeleaf后,按照SpringBoot的自动配置原理,我们看一下Thymeleaf的自动配置规则。

Thymeleaf自动配置类:ThymeleafProperties

idea查找的快捷键ctrl+shift+R

 1 @ConfigurationProperties(prefix = "spring.thymeleaf")
 2 public class ThymeleafProperties {
 3     private static final Charset DEFAULT_ENCODING = StandardCharsets.UTF_8;
 4     public static final String DEFAULT_PREFIX = "classpath:/templates/";
 5     public static final String DEFAULT_SUFFIX = ".html";
 6     private boolean checkTemplate = true;
 7     private boolean checkTemplateLocation = true;
 8     private String prefix = DEFAULT_PREFIX;
 9     private String suffix = DEFAULT_SUFFIX;
10     private String mode = "HTML";
11     private Charset encoding = DEFAULT_ENCODING;
12     private boolean cache = true;
13 ......
14 }

我们看到默认的前缀和后缀

我们只需要把我们的html页面放到类路径下的templates下,thymeleaf就可以帮我们自动渲染了。

使用thymeleaf不需要什么配置,只需要将他放到指定的文件夹下即可

测试:

1.编写一个TestController

1 @Controller
2 public class TestController {
3     @RequestMapping("/test1")
4     public String test1(){
5         return "test";
6     }
7 }

2.编写一个测试页面,test.html放在templates目录下

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8 <h1>测试页面</h1>
 9 </body>
10 </html>

3.启动项目请求测试

4.Thymeleaf语法学习

要学习语法,需要参考官网文档

Thymeleaf官网:https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#a-website-for-a-grocery

一个简单的联系,在页面中展示我们查到的数据

 

待补充。。。。

posted @ 2020-08-21 17:11  罗晓峥  阅读(373)  评论(0编辑  收藏  举报