简述模板引擎、常见模板引擎以及Thymeleaf常用指令

模板引擎概念:

是为了解决用户界面(显示)与业务数据(内容)分离而产生的。 它可以生成特定格式的文档,常用的如格式如HTML、xml以及其他格式的文本格式。

场景使用理解:举个栗子---【开会】
在上高中的时候每次开会都要提前布置场地、拿小板凳。而你上了大学之后每次开会再也不去大操场了,每次开会都去学校的大会议室,桌子板凳音响设备齐全,来之即用……。

模板引擎的功能就类似我们的会议室开会一样拿来即用,将模板设计好之后直接填充数据即可而不需要重新设计整个页面。可以提高页面、代码的复用性。

 常见模板引擎

1---【jsp】

Java Server Page,即--- Java服务器页面,根本是一个简化的servlet

优点:

1、功能强大,可以写java代码

2、支持jsp标签(jsp tag)

3、支持表达式语言(el表达式,jstl语法)

4、官方标准,用户群广,丰富的第三方jsp标签库

5、性能良好。jsp编译成class文件执行,有很好的性能表现

缺点: jsp没有明显缺点,由于可以编写java代码,如使用不当容易破坏mvc结构。


2---【velocity】

velocity是较早出现的用于代替jsp的模板语言

优点:

1、不能编写java代码,可以实现严格的mvc分离

2、性能良好,据说比jsp性能还要好些

3、使用表达式语言,据说jsp的表达式语言就是学velocity的

缺点:

1、不是官方标准

2、用户群体和第三方标签库没有jsp多。

3、对jsp标签支持不够好

4、已经很久很久没有维护了


3---【freemarker】 

FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。


优点:
1、不能编写java代码,可以实现严格的mvc分离
2、性能非常不错
3、对jsp标签支持良好
4、内置大量常用功能,使用非常方便
5、宏定义(类似jsp标签)非常方便
6、使用表达式语言
缺点: 
1、不是官方标准
2、用户群体和第三方标签库没有jsp多


4---【Thymeleaf】 

Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎

优点:
静态html嵌入标签属性,浏览器可以直接打开模板文件,便于前后端联调 

特点:

1、动静结合:Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。

这是 由于它支持 html 原型,然后在 html 标签里增加额外的属性来达到模板+数据的展示 方式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态 地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。

2、开箱即用:它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、 OGNL表达式效果,避免每天套模板、该jstl、改标签的困扰。同时开发人员也可以扩展和创建自定义的方言。

3、多方言支持:Thymeleaf 提供spring标准方言和一个与 SpringMVC 完美集成的 可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。 

4、与SpringBoot完美整合:SpringBoot提供了Thymeleaf的默认配置,并且 为Thymeleaf设置了视图解析器,我们可以像以前操作jsp一样来操作Thymeleaf。代 码几乎没有任何区别&#x

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值