SpringBoot_web开发-引入thymeleaf

前端交给我们的是html页面,如果是我们以前开发,我们需要把它转成JPS文件,转JSP的好处,当我们查出一些数据,

转化到JSP页面以后,我们可以用c:each进行遍历,c:if进行判断,我们JSP支持非常强大的内容,包括也能写JAVA

代码,但是我们现在这种情况,SpringBoot是jar包的方式,不是web项目,第二我们用的还是嵌入式的tomcat,所以

他默认是不支持JSP的,不支持JPS,如果我们使用从静态页面的方式,那给我们开发带来非常大的麻烦,那怎么办呢,

我们springboot推荐使用模板引擎,那么模板引大家听得很多,其实JSP不就是一个模板引擎吗,加上市面上的Velocity,

还有FreeMark,包括SpringBoot推荐的thymeleaf,模板引擎非常多,但再多的模板引擎,他们的思想都是一样的,什么样的一个

思想呢,模板引擎的作用就是我们写一个模板,有些数据是动态的,我们写一些表达式,而这值从哪儿来呢,我们来组装一些数据,

把这数据找到,然后把模板和数据交给模板引擎,模板引擎按照数据,把这个表达式解析,填充到我们指定的位置,然后把数据输出

一个我们想要的内容,给我们写出去,这就是我们的模板引擎,不管是JSP还是其他的模板引擎,都是这个思想,只不过就是说,

不同模板引擎之间,他们的语法可能不一样

模板引擎其他的我不介绍了,我们主要介绍SpringBoot推荐的thymeleaf模板引擎,这个我们称之为高级语言的

模板引擎,他的语法更简单,而且功能更强大,我们就来看一下这个模板引擎,既然要看模板引擎,首先我们看SpringBoot

里面怎么用,怎么用第一步,首先我们要引入thymeleaf,这怎么引呢,对于Springboot来说,什么东西都是stater的事吗,

我们来引一下,pom文件里面,我们来看springboot的官方文档,在官方文档的starter里面,

https://docs.spring.io/spring-boot/docs/1.5.22.RELEASE/reference/html/using-boot-build-systems.html
#using-boot-starter

有咱们模板引擎的场景

spring-boot-starter-thymeleaf

那我们就来引用,我们就叫spring-boot-starter-thymeleaf,版本我们不用管,让他来自动下载,

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

我们来看一下他下载了什么,如果我们需要thymeleaf就只需要他就行了

<properties>
	<thymeleaf.version>3.0.9.RELEASE</thymeleaf.version>
	<thymeleaf-layout-dialect.version>2.3.0</thymeleaf-layout-dialect.version>
	<!-- 布局功能的支持程序 thymeleaf3主程序 layout2以上版本 -->
	<!-- thymeleaf2 layout1 -->
	<thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version>
</properties>

但是我们来说,现在默认用的是2.1.6版本,这个2.1.16版本太低了,我们来看一下,thymeleaf的官网,

他把东西都放到github下,我们来搜索一下github上的thymeleaf

https://github.com

https://github.com/thymeleaf/thymeleaf

就是这个项目,releases已发布的,发布到3.0.9了,那我们想要怎么切换,Springboot官方文档里面也说了,

Use Thymeleaf 3

https://docs.spring.io/spring-boot/docs/1.5.22.RELEASE/reference/html/howto-spring-mvc.html
#howto-use-thymeleaf-3

我们使用3版本,只要你把这个版本号改一下就行了,

<properties>
    <thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>
    <thymeleaf-layout-dialect.version>2.1.1</thymeleaf-layout-dialect.version>
</properties>

这就是thymeleaf3,布局功能的支持程序,就是这一块特别注意,我们布局功能的支持程序,如果是thymeleaf3,

适配layout2以上版本,

<thymeleaf.version>3.0.9.RELEASE</thymeleaf.version>
<thymeleaf-layout-dialect.version>2.3.0</thymeleaf-layout-dialect.version>

我们可以不使用springboot给我们提供的版本,比如我们用3.0.9,我们不用3.0.2,我们用3.0.9,那layout也应该

是3.0.2以上的版本,

https://github.com/ultraq/thymeleaf-layout-dialect/releases?after=2.0.5

Thymeleaf Layout Dialect 2.0.0

ultraq released this on 9 Jul 2016 · 183 commits to master since this release

Layout dialect rewritten to support Thymeleaf 3 (#68, Layout Dialect 2.0 milestone)

如果自己来调节,这个坑就是这样,在2.0的时候,他说我们这个重写了以后,来支持thymeleaf3的,2.0以上的layout功能

才支持,layout是做支持扩展的,那我们也上升到最新版本2.2.2

<thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version>

如果要改自己一定要注意,这种方式来切换版本,就是说通过这一个,大家以后就触类旁通,要改springboot给我们提供的

一些默认版本,我们就可以这么来改,如果里面还导入了一些适配的中间包,一定要参考官方文档,他们之间的适配关系可

别导错了

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值