对Thymeleaf的一些笼统介绍和理解
Posted 陈咬金
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对Thymeleaf的一些笼统介绍和理解相关的知识,希望对你有一定的参考价值。
(随手记录的,,可能没那么易看,sorry le)
先大概介绍一下关于Thymeleaf的概念和理解:首先Thymeleaf模板引擎(换句话说他是现代服务器端的Java模板引擎,)
他所对应的主要作用(因为也是刚刚了接所以可能不会介绍的很周全),其实无非也就和之前所对应的jsp的作用方式是类似的,
因为jsp在某种程度上也是一种所对应的模板引擎,而jsp和Thymeleaf不同的地方,在某种程度上也就是,jsp对一些事物支持力度不高,
如html5的一些属性在jsp中是不能正常使用的,二,也就是jsp所对应的前后端分离的程度不够高,因为相信所有人也都知道,
jsp的设置初衷,或者jsp的设计原理是需要追述为servlet时代的,而jsp的出现在当时也的确是很实用的页面显示方式
(我觉得是这样的,O(∩_∩)O~~),所以jsp并非是直接支持html的语法格式的等等,jsp在生成的过程当中会生成为所对应的servlet类
,然后servlet中利用response等特定将所对应的标签等进行输出,如:response.getWrite().write().等等,,所以仅以此进行比较的话,
那么的确在前后端的数据显示分离上,的确是没有现在的一些大多数的后端引擎效果好些,相比对于如:jsp页面不能直接进行浏览器展示
,一定要与服务器进行配合才能展示数据等,而Thymeleaf呢则是可以直接打开html文件,进行前端的效果查看啊等等,
(其实从他们两个的实现原理上来说的话,一些优缺点阿等等,其实是完全没有对比性的,我觉得。。哈哈
,因为设计方式和设计初衷wo觉得其实也是不一样的,jsp的设计初衷是为了可以和后端所对应的作用域的数据bean等等进行数据显示和输出
,在设计之初我觉得这已经是很节省开发时间和成本的问题了吧,当时对于前后端使用json进行数据传输,也不知道流行没有,。。
而Thymeleaf的设计初衷出了解决数据bean的显示等问题外,对于html也有很好的支持),然后再简单提一下Thymeleaf的解析方式,
其实对于Thymeleaf的一些作用上述的话也简单提到了和jsp的一些作用是类似的,所以Thymeleaf的解决方式也是实现作用域中的bean的数据展示
,逻辑判断,以及循环等简单作用,除此之外还有类似于jsp的include的包含等功能,在Thymeleaf中又叫做(模板的定义和模板的引用)等,
(对于Thymeleaf的一些使用语法和方式等,可能会在后续学习记忆中重新再整理等,除了对于数据的解析等方式之外,)
Thymeleaf 除了所对应的应支持的作用外,不同于其余引擎的地方则是,Thymeleaf对html的支持则是十分良好的,
Thymeleaf的语法是在html上直接书写的,(旁边好吵.........)对于前后端数据分离效果较好,即对于前段的html页面可以直接打开显示前台内容
,当和服务器进行交接后所对应的th标签接收的内容则将会所对应的html标签内容替换,这点的话对于前后端的数据分离支持较好
,而jsp的话默认情况下在浏览器打开可能就是没有一点效果的,这点不多做解释了(*^__^*) ...除此之外呢,
要提到的就是JSP是基于servet进行数据解析转换形成的html,而!Thymeleaf则是将所对应的指定显示文件以DOM的形式读取为xml等并进行数据的
解析和赋值后再重新映射到浏览器的,所以Thymeleaf对于Html页面的标签等如</>闭合标签等的要求较为严格,
并且对与HTML页面较为复杂的情况使用Thymeleaf作为模板引擎则将会消耗较大的jvm内存空间
(理论上的确是将会消耗过多的JVM的内存空间吧~理论上应该的确是的~~哈哈)
所以对于较复杂的HTML页面的情况使用Thymeleaf作为模板引擎的话,官方介绍似乎是并不希望这样去做,
那么可能所对应的一系列问题可能也就迎刃而解了,比如什么将可能会造成堆内存异常,溢出,渲染速度性能降低了等等。
当然对于Thymeleaf也有很多好用的功能,除了上述所提到的以外还包含表单验证了,等等,
以及网上也有很大拿Thymeleaf和beetl等做性能对比的测试,这一点就不多作评论了,,哈哈
睡觉~lou喽先
以上是关于对Thymeleaf的一些笼统介绍和理解的主要内容,如果未能解决你的问题,请参考以下文章
为啥 html 元素中的 Html 文本不与 Thyme-leaf 文本连接?代码是[重复]
Thymeleaf 模板 在spring boot 中的引用和应用