现在主流的Thymeleaf模板引擎到底有多好用?

通常开发我们都会使用模板引擎,比如:JSP、Velocity、Freemarker、Thymeleaf等等很多,那么模板引擎是干嘛用的?
模板引擎,顾名思义,是一款模板,模板中可以动态的写入一些参数,我们将这些参数在代码中传入,以保证数据在页面的动态调用,这就是引擎要做的,页面和数据的动态传输模板。
连Springboot官方都在推荐的这款Thymeleaf模板引擎,让我们看看它到底哪里这么出彩:
Thymeleaf很容易学习与理解,并有着自己鲜明的特色,适合在后台应用,以及各种管理类系统中使用。
本课程将一步一步详解讲解Thymeleaf模板引擎技术,全面掌握Thymeleaf模板技术,并在实际项目开发中得心应手使用Thymeleaf模板技术。
视频观看,点击以下链接👇

适应人群:
有一定的Java Web开发基础,掌握SpringBoot,或者有工作经验的人群。

什么是Thymeleaf?
Thymeleaf是一种服务器端Java模板引擎,它通过在html标签中嵌入特殊的语法糖,实现双击html文件即可在浏览器中预览页面效果,又可以在服务端解析处理后渲染出动态页面;
这对于处理UI模板的前端设计人员非常友好,所见即所得。
同时对于服务器端人员来说,只需在html标签中嵌入语法糖,即可启用模板功能,渲染出动态页面,实现了前端设计人员和后端开发人员的职责分离。
Thymeleaf过程可以使用哪种模板?
开箱即用,Thymeleaf允许处理六种模板,每种模板称为模板模式:
两种标记模板模式(HTML和XML)
三种文本模板模式(TEXT,JAVASCRIPT和CSS)
一种无操作模板模式(RAW)
HTML
该HTML模板模式将允许任何类型的HTML的输入,包括HTML5,HTML4和XHTML。不会执行验证或格式良好检查,并且将在输出中尽可能地尊重模板代码/结构。
XML
该XML模板模式将允许XML输入。在这种情况下,代码应该是格式良好的 - 没有未封闭的标签,没有不带引号的属性等等 - 如果发现格式错误,解析器将抛出异常。请注意,不会执行验证(针对DTD或XML架构)。
TEXT
该TEXT模板模式将允许非标记性质的模板使用特殊的语法。此类模板的示例可能是文本电子邮件或模板文档。请注意,HTML或XML模板也可以被处理TEXT,在这种情况下,它们不会被解析为标记,并且每个标记,DOCTYPE,注释等都将被视为纯文本。
JAVASCRIPT
该JAVASCRIPT模板模式将允许在Thymeleaf应用程序的JavaScript文件的处理。这意味着能够以与HTML文件相同的方式在JavaScript文件中使用模型数据,但是使用特定于JavaScript的集成,例如专门的转义或自然脚本。该JAVASCRIPT模板模式被认为是一种文本模式,因此使用相同的特殊语法的TEXT模板模式。
CSS
该CSS模板模式将允许参与Thymeleaf应用CSS文件的处理。与JAVASCRIPT模式类似,CSS模板模式也是文本模式,并使用TEXT模板模式中的特殊处理语法。
RAW
该RAW模板模式将根本不处理模板。它用于将未经处理的资源(文件,URL响应等)插入到正在处理的模板中。例如,HTML格式的外部不受控制的资源可以包含在应用程序模板中,安全地知道这些资源可能包含的任何Thymeleaf代码都不会被执行。
Thymeleaf的优势
1. 以html的属性出现,保证html的完整语法结构不被破坏;
2. 浏览器可直接预览模板文件,无需服务器端支持;
3. 提供了大量内置对象,内置工具类;
4. 语法简单,学习难度低;
5. 支持html,js,raw等多种模板类型;
课程目录
001.Thymeleaf课程导读
002.thymeleaf-模板工作方式
003.thymeleaf-文档
004.thymeleaf-第一个例子
005.thymeleaf-模板使用数据
006.thymeleaf-使用模板文件
007.thymeleaf-设置模板前缀后缀
008.thymeleaf-springboot环境搭建
009.thymeleaf-测试springboot中使用模板
010.thymeleaf-变量表达式基本语法-1
011.thymeleaf-变量表达式基本语法-2
012.thymeleaf-链接表达式
013.thymeleaf-链接表达式传参数
014.thymeleaf-国际化介绍
015.thymeleaf-自定义LocalResolver
016.thymeleaf-国际化模板定义
017.thymeleaf-调式国际化
018.thymeleaf-文本表达式
019.thymeleaf-数字表达式
020.thymeleaf-布尔表达式
021.thymeleaf-null和空字符串
022.thymeleaf-逻辑表达式
023.thymeleaf-三元运算符-1
024.thymeleaf-三元运算符-2
025.thymeleaf-设置属性值
026.thymeleaf-attr设置任意属性值
027.thymeleaf-设置属性值
028.thymeleaf-同时设置多个属性值
029.thymeleaf-boolean设置
030.thymeleaf-设置标签体文本
031.thymeleaf-循环each(1)
032.thymeleaf-each循环普通Map
033.thymeleaf-each循环ListMap
034.thymeleaf-each循环数组
035.thymeleaf-each循环给Select组件添加数据
036.thymeleaf-each循环的状态变量
037.thymeleaf-if使用
038.thymeleaf-unless使用
039.thymeleaf-模版的介绍
040.thymeleaf-模版insert使用
041.thymeleaf-函数模版和当前页面中定义模版
042.thymeleaf-使用id引用模版
043.thymeleaf-replace和include的对比
044.thymeleaf-常用insert-replace
045.thymeleaf-remove删除
046.thymeleaf-remove其它的范围值
047.thymeleaf-动态指定模版名称
048.thymeleaf-inline在js中获取数据
049.thymeleaf-inline和text的比较使用
050.thymeleaf-禁用内联
051.thymeleaf-局部变量
052.thymeleaf-内置工具类
053.thymeleaf-内置工具类日期和string
054.thymeleaf-内置对象#request
055.thymeleaf-内置对象#session和#servletContext
056.thymeleaf-快捷对象param
057.thymeleaf-快捷对象session和application
