0


常见的模板引擎以及Thymeleaf的常用指令

模板引擎是什么

模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的html文档。从字面上理解模板引擎,最重要的就是模板二字,这个意思就是做好一个模板后套入对应位置的数据,最终以html的格式展示出来。
简单来说,它可以根据程序员指定的模板结构和数据,自动生成一个完整的HTML页面。

使用模板引擎的好处

  • 减少了字符串的拼接操作
  • 使代码结构更清晰
  • 使代码更易于阅读与维护

常见的模板引擎有哪些?

    (thymleaf、jsp、velocity、freemarker)

Thymeleaf

Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎 • Spring官方支持的服务的渲染模板中,并不包含jsp。而是Thymeleaf和 Freemarker等,而Thymeleaf与SpringMVC的视图技术,及SpringBoot的 自动化配置集成非常完美,几乎没有任何成本,你只用关注Thymeleaf的语法 即可

特性:1.动静结合:在有网络和无网络的环境下皆可运行。即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。这是由于它支持html原型,然后在html标签里增加额外的属性来达到模板+数据的展示方式。浏览器解释 html时会忽略未定义的标签属性,所以thymeleaf的模板可以静态地运行;当有数据返回到页面时,Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。

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

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

4.与SpringBoot完美整合:SpringBoot提供了Thymeleaf的默认配置,并且 为Thymeleaf设置了视图解析器,我们可以像以前操作jsp一样来操作Thymeleaf。代 码几乎没有任何区别,就是在模板语法上有区别。

    (目前主流的模板引擎之一,Spring Boot推荐)

优点:语法简洁,功能强大。
缺点:性能差。

**Jsp **

优点:

  1. 功能强大,可以写java代码
  2. 支持jsp标签(jsp tag)
  3. 支持表达式语言(el表达式,jstl语法)
  4. 官方标准,用户群广,丰富的第三方jsp标签库
  5. 性能良好。jsp编译成class文件执行,有很好的性能表现

缺点:

  1. 前后端耦合比较高:比如说前端的html页面还要手动修改成jsp页面,大大加重了工作量,而且动态和静态资源也是耦合性太高。
  2. JSP页面的效率没有HTML高,因为JSP是同步加载。而且JSP需要tomcat,但又不支持nginx等。

Velocity

特性: Velocity是一个基于Java的模板引擎。它允许任何人使用简单但功能强大的模板语言来引用Java代码中定义的对象。

优点:使用了模板缓冲,在模板缓冲机制的作用下,模板不再是每次出现请求的时候从磁盘读取,而是以最理想的方式在内存中保存和解析。在开发期间, 模板缓冲通常处于禁用状态,因为这时请求数量较少,而且要求对页面的修改立即产生效果。开发完毕之后,模板一 般不再改变,此时就可以启用模板缓冲功能。因此Velocity执行速度明显优于JSP。

缺点:

  1. 不是官方标准
  2. 用户群体和第三方标签库没有jsp多
  3. 对jsp标签支持不够好
  4. 已经很久很久没有维护了

FreeMarker

特性:在所有采用网页静态化手段的网站中,FreeMarker便用的比例大大的超过了其他的一些技术。HTML静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以使用FreeMarker将HTML静态化。比如一些网站的公用设置信息,这些信息基本都是可以通过后台 来管理并存储在数据库中,这些信息其实会大量的被前台程序调用,每次调用都会 去查询一次数据库,但是这些信息的更新频率又会很小,因此也可以考虑将这部分内容进行后台更新的时候进行静态化,这样就避免了大量的数据库访问请求,提高了网站的性能。
(目前主流的模板引擎之一)

优点:

  1. 不能编写java代码,可以实现严格的mvc分离
  2. 性能非常不错
  3. 对jsp标签支持良好
  4. 内置大量常用功能,使用非常方便
  5. 宏定义(类似jsp标签)非常方便
  6. 使用表达式语言

缺点:

  1. 不是官方标准
  2. 用户群体和第三方标签库没有jsp多

Thymeleaf 在页面的使用 – 常用的指令

Thymeleaf 标准⽅⾔还⽀持以下固定值布尔属性

标签: 大数据

本文转载自: https://blog.csdn.net/weixin_71118996/article/details/125712385
版权归原作者 星星慢 所有, 如有侵权,请联系我们删除。

“常见的模板引擎以及Thymeleaf的常用指令”的评论:

还没有评论