对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的一些笼统介绍和理解的更多相关文章
- SOA架构介绍和理解
SOA架构介绍和理解 SOA的正确方法论及目标模型,其实SOA在实现架构落地上,需要考虑到对服务的组合,不断的重用现有的服务,让企业应用可以逐步集成,快速实现业务的迭代. 通过SOA架构分层将服务按照 ...
- python scrapy爬虫框架概念介绍(个人理解总结为一张图)
python的scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架 python和scrapy的安装就不介绍了,资料很多 这里我个人总结一下,能更加快理解scrapy和快速上手一个简 ...
- 监控摄像机常识:宽动态 (WDR)介绍和理解
安装和使用监控摄像机经常会遇到强光问题. 因为我们不可能灵活选择摄像机的安装位置, 解决或者处理强光是一个无法避免的问题. 不管是由反光材质或者灯源造成此反光, 解决问题的方案来自于摄像机支持的一个特 ...
- Thymeleaf的模板使用介绍
参考网址: https://blog.csdn.net/hry2015/article/details/73476973 先定义一个html文件, 如下: 文件路径: templates/templa ...
- S2SH简单介绍和理解
struts2简介 Struts2是由WebWork基础上发展起来的,与struts1比较,选用struts2的理由是:①Struts1要求Action类继承一个抽象基类,而Struts2Action ...
- js面向对象的笼统介绍
**js进阶大纲**简单的表面组成:**对象的属性分两类,一类是数据属性,一类是访问器属性**1,数据属性用来保存数据.2,访问器属性不用来保存数据,而是定义了get,set两个函数,读取属性时,自动 ...
- 深入理解 Java 内存模型(一)- 内存模型介绍
深入理解 Java 内存模型(一)- 内存模型介绍 深入理解 Java 内存模型(二)- happens-before 规则 深入理解 Java 内存模型(三)- volatile 语义 深入理解 J ...
- 深入理解NIO(一)—— NIO的简单使用及其三大组件介绍
深入理解NIO(一)—— NIO的简单使用及其三大组件介绍 深入理解NIO系列分为四个部分 第一个部分也就是本节为NIO的简单使用(我很少写这种新手教程,所以如果你是复习还好,应该不难理解这篇,但如果 ...
- C#基础知识之理解HTTP协议
在互联网时代HTTP协议的重要性无需多言,对于技术岗位的同学们来说理解掌握HTTP协议是必须的.本篇博客就从HTTP协议的演进.特性.重要知识点和工作中常见问题的总结等方面进行简单的介绍.理解掌握了这 ...
随机推荐
- JAVA常用知识总结(七)——Spring
如果一个接口有2个不同的实现, 如何Autowire某一个指定的实现? 1.通过增加@Qualifier(实现类的名字): @Autowired @Qualifier("GirlStuden ...
- ASP.NET Cookie的登录验证
做用户登录,我一直用form验证的方式.有时候,为了节省时间,用户希望用户名输入框能够记住用户名,省得下次重新输入.这个时候光用form验证是不行的,因为form验证的话,用户一退出系统就失效了,所以 ...
- 分布式系统ID生成办法
前言 一般单机或者单数据库的项目可能规模比较小,适应的场景也比较有限,平台的访问量和业务量都较小,业务ID的生成方式比较原始但是够用,它并没有给这样的系统带来问题和瓶颈,所以这种情况下我们并没有对此给 ...
- 简述UML类图
注:本文摘自刘伟老师的博客http://blog.csdn.net/lovelion/article/details/7838679,如有侵权,请联系本人! 1.类的UML图示 在UML中,类使用包含 ...
- AJAX的JSON方式传回方法
AJAX返回数据的类型有两种,一种是TEXT类型,一种是JSON类型. 使用TEXT类型,访问数据库后将结果拼接成字符串,返回时在拆分成数组使用. JSON直接将结果转成JSON数据,返回时直接使用. ...
- 初探ant design pro
1.增加路由子页面&配置菜单 因为ant design pro采取的是umi路由配置,所以只要在对应的文件夹下新建相关的文件夹以及文件,它会自动解析.按照如下的步骤做即可 PS.如果想要给菜单 ...
- log日志应用 自定义的log
package com.kxd.utils; import java.util.Hashtable; import android.util.Log; /** * The class for prin ...
- java.lang.IllegalAccessException: Class XX can not access a member of class XXX with modifiers "private static"
当前需求: 利用反射获取某一属性值运行结果:java.lang.IllegalAccessException: Class com.example.demo.test.Reflect can not ...
- HDU 1729 Stone Game 石头游戏 (Nim, sg函数)
题意: 有n个盒子,每个盒子可以放一定量的石头,盒子中可能已经有了部分石头.假设石头无限,每次可以往任意一个盒子中放石头,可以加的数量不得超过该盒中已有石头数量的平方k^2,即至少放1个,至多放k^2 ...
- 洛谷 P2347 砝码称重 != codevs 2144
题目描述 设有1g.2g.3g.5g.10g.20g的砝码各若干枚(其总重<=1000), 输入输出格式 输入格式: 输入方式:a1 a2 a3 a4 a5 a6 (表示1g砝码有a1个,2g砝 ...