(随手记录的,,可能没那么易看,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的一些笼统介绍和理解的更多相关文章

  1. SOA架构介绍和理解

    SOA架构介绍和理解 SOA的正确方法论及目标模型,其实SOA在实现架构落地上,需要考虑到对服务的组合,不断的重用现有的服务,让企业应用可以逐步集成,快速实现业务的迭代. 通过SOA架构分层将服务按照 ...

  2. python scrapy爬虫框架概念介绍(个人理解总结为一张图)

    python的scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架   python和scrapy的安装就不介绍了,资料很多 这里我个人总结一下,能更加快理解scrapy和快速上手一个简 ...

  3. 监控摄像机常识:宽动态 (WDR)介绍和理解

    安装和使用监控摄像机经常会遇到强光问题. 因为我们不可能灵活选择摄像机的安装位置, 解决或者处理强光是一个无法避免的问题. 不管是由反光材质或者灯源造成此反光, 解决问题的方案来自于摄像机支持的一个特 ...

  4. Thymeleaf的模板使用介绍

    参考网址: https://blog.csdn.net/hry2015/article/details/73476973 先定义一个html文件, 如下: 文件路径: templates/templa ...

  5. S2SH简单介绍和理解

    struts2简介 Struts2是由WebWork基础上发展起来的,与struts1比较,选用struts2的理由是:①Struts1要求Action类继承一个抽象基类,而Struts2Action ...

  6. js面向对象的笼统介绍

    **js进阶大纲**简单的表面组成:**对象的属性分两类,一类是数据属性,一类是访问器属性**1,数据属性用来保存数据.2,访问器属性不用来保存数据,而是定义了get,set两个函数,读取属性时,自动 ...

  7. 深入理解 Java 内存模型(一)- 内存模型介绍

    深入理解 Java 内存模型(一)- 内存模型介绍 深入理解 Java 内存模型(二)- happens-before 规则 深入理解 Java 内存模型(三)- volatile 语义 深入理解 J ...

  8. 深入理解NIO(一)—— NIO的简单使用及其三大组件介绍

    深入理解NIO(一)—— NIO的简单使用及其三大组件介绍 深入理解NIO系列分为四个部分 第一个部分也就是本节为NIO的简单使用(我很少写这种新手教程,所以如果你是复习还好,应该不难理解这篇,但如果 ...

  9. C#基础知识之理解HTTP协议

    在互联网时代HTTP协议的重要性无需多言,对于技术岗位的同学们来说理解掌握HTTP协议是必须的.本篇博客就从HTTP协议的演进.特性.重要知识点和工作中常见问题的总结等方面进行简单的介绍.理解掌握了这 ...

随机推荐

  1. Java中的list与Set、Map区别及适用场景

    Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类,但是却让其被继承产生了两个接口,就是Set和List.Set中不能包含重复的元素.List是一个有序的集合,可以包含 ...

  2. CD4051的切换时间

    CD4051:1 2 4 5 12 13 14 15  8个选择IO输入/输出端:3:I/O6:片选低电平有效,搞定平所有通道不通9 10 11:地址选择:功能:通过地址选择译码8个中的某个通道与3脚 ...

  3. odoo9 部署步详细步骤

    sudo apt-get updatesudo apt-get dist-upgrade 一:安装和配置pg sudo apt-get install  postgresql sudo su - po ...

  4. 利用樹霉派採集溫濕度上傳到OneNET(非完整,僅參考)

    看圖: Python代碼: #env /usr/bin/python3 #author Bruce import RPi.GPIO as GPIO import time import json im ...

  5. jquery.qrcode.min.js生成二维码

    jquery.qrcode.min.js是一款可以生成二维码的插件,使用前提是先引入jquery,因为jquery.qrcode.min.js依赖jquery. 基本用法 1.引入js <scr ...

  6. MFC程序添加快捷键

    [问题提出]     有的程序需要自定义组合键完成一定功能,如何实现? [解决方法]     RegisterHotKey函数原型及说明:     BOOL RegisterHotKey(     H ...

  7. 分析(ExtractTransformLoad)与挖掘(DataMine)有何区别 ?

    首先,介绍一下ETL 和 DM:     ETL/Extraction-Transformation-Loading——用于完成DB到DW的数据转存,它将DB中的某一个时间点的状态,“抽取”出来,根据 ...

  8. ImportError: No module named flask.ext.wtf 解决方法

    install pip install flask.ext.wtf

  9. 机器学习之 PCA

    PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降 ...

  10. osx launchpad图标的删除

    安装了个parallels desktop之后,OSX中的launchpad中的图标多了不少,可是好多都不是我自己想要的,我们该怎么删除或者修改呢,下面介绍一些方法: ①直接操作Appications ...