(4)SpringBoot之Thymeleaf模板引擎

在说Thymeleaf模板引擎之前,我们先来看看之前用工具创建的SpringBoot工程时,自动创建的resource目录如下

(4)SpringBoot之Thymeleaf模板引擎_第1张图片
resources目录

首先,我们来说说这个static,这个文件夹名可不是随意取,SprigBoot默认提供的静态资源必须满足以下规则中的一种

(1)/static(2)/public(3)/resources(4)/META-INF/resources

所以,在上述红色箭头目录下,比如我们放了一张图片admin.png,然后将项目跑起来,我们通过浏览器访问localhost:8080/admin.png,正常来说可以显示出这张图片来。

在来说说另外一个自动生成的目录——templates,这个就是SpringBoot模板引擎默认的存放目录,也就是说,我们今天所要说的Thymeleaf模板文件就是放在这个目录里。当然,既然说是默认的路径,说明是可以自定义路径,说起自定义自然就跟前面所讲的配置文件有关了,只是一般情况下我们就按默认的来,确实没必要自己再去配置路径了。

既然要使用Thymeleaf模板,那么需要添加相应的依赖,在pom文件中添加如下即可。

(4)SpringBoot之Thymeleaf模板引擎_第2张图片
Thymeleaf模板所需依赖

接着,我们在templates目录下新建一个HTML文件——index.html,编写代码如下:

(4)SpringBoot之Thymeleaf模板引擎_第3张图片
Thymeleaf模板文件

其中的name为从后台传到前台的变量。

接下来我们看回最开始编写的HelloWorld的controller类,如下

(4)SpringBoot之Thymeleaf模板引擎_第4张图片
HelloWorld的controller类

首先我们都知道@RestController=@Controller+@ResponseBody,该注解返回的是json,所以我们上次是直接在页面中显示出“Hello World!”来,而现在我们要访问页面了,所以需要对该controller进行相应的改写:

(4)SpringBoot之Thymeleaf模板引擎_第5张图片
改写controller

如上,我们直接访问localhost:8080/的时候,页面返回json——“Hello World!”,我们访问localhost:8080/index时,我们发现从后台传到前台的“狗子,加油!”用

显示了出来。

为了让效果更加明显,我们在/resources/static目录下,我们创建一个名为“img”的文件夹,并在其中存放一张图片:admin.png

如上面所说的,正常的情况下,项目启动后,我们可通过localhost:8080/img/admin.png访问到该相片。

然后对上面的index.html进行修改,增加了一张图片,如下:

Hello World

重启项目,访问localhost:8080/index,我们将在浏览器中看到这样的效果:

(4)SpringBoot之Thymeleaf模板引擎_第6张图片
狗子,加油!

最后,我们来说说Thymeleaf相关的配置参数,其实thymeleaf本身就有了许多的默认参数,大部分参数我们如上面所说的,直接使用默认的即可,但有一个参数还是配置一下比较好,我们在application.yml中添加上如下的配置:

(4)SpringBoot之Thymeleaf模板引擎_第7张图片
Thymeleaf配置参数

就如同上面写的注释那样,添加这个后可以实现热部署,什么是热部署呢?用大白话说就是:你修改了页面后,直接刷新页面即可生效,不用重启项目,比如你可以在上面的index.html上随便加点东西,如果不配置这个参数的话,刷新后是看不到页面变化的,因为Thymeleaf默认有缓存的。所以,这个参数最好还是配置一下,对我们开发过程或在实际生产环境中都有一定的好处。

你可能感兴趣的:((4)SpringBoot之Thymeleaf模板引擎)