模板引擎的对⽐(thymeleaf、freemarker、jsp)
1.Thymeleaf前端页面模板
    特性:
      1.Thymeleaf 在有⽹络和⽆⽹络的环境下皆可运⾏,即它可以让美⼯在浏览器查看页⾯的静态效果,也可以让程序员在服务器查看带数据的动态页⾯效果。这是由于它⽀持 html 原型,然后在 html 标签⾥增加额外的属性来达到模板+数据的展⽰⽅式。浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运⾏;当有数据返回到页⾯时,Thymeleaf 标签会动态地替换掉静态内容,使页⾯动态显⽰。
      2.Thymeleaf 开箱即⽤的特性。它提供标准和spring标准两种⽅⾔,可以直接套⽤模板实现JSTL、 OGNL表达式效果,避免每天套模板、该jstl、改标签的困扰。同时开发⼈员也可以扩展和创建⾃定义的⽅⾔。
      3. Thymeleaf 提供spring标准⽅⾔和⼀个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。
      (⽬前主流的模板引擎之⼀,Spring Boot推荐)
    优点:语法简洁,功能强⼤。
    缺点:性能差。
    使⽤(SpringBoot+IDEA):
2.FeeMaker
    特性:
      在所有采⽤⽹页静态化⼿段的⽹站中,FreeMarker使⽤的⽐例⼤⼤的超过了其他的⼀些技术。HTML静态化也是某些缓存策略使⽤的⼿段,对于系统中频繁使⽤数据库查询但是内容更新很⼩的应⽤,可以使⽤FreeMarker将HTML静态化。⽐如⼀些⽹站的公⽤设置信息,这些信息基本都是可以通过后台来管理并存储在数据库中,这些信息其实会⼤量的被前台程序调⽤,每⼀次调⽤都会去查询⼀次数据库,但是这些信息的更新频率⼜会很⼩,因此也可以考虑将这部分内容进⾏后台更新的时候进⾏静态化,这样就避免了⼤量的数据库访问请求,提⾼了⽹站的性能。
      (⽬前主流的模板引擎之⼀)
    优点:
      FreeMarker的⼀个优点在于不能轻易突破模板语⾔开始编写Java代码,因此降低了领域逻辑漏进视图层的危险⼏率,也提⾼了⽹站的性能。
    缺点:
      需要⼀点附加配置来将其平稳地集成到应⽤程序中,⼀些IDE可能并不完全⽀持它,当然还有开发者或设计者也许需要学习⼀门陌⽣的模板语⾔。
3.JSP
    虽然是⼀款功能⽐较强⼤的模板引擎,并被⼴⼤开发者熟悉,但它前后端耦合⽐较⾼。⽐如说前端的html页⾯还要⼿动修改成jsp 页⾯,⼤⼤加重了⼯作量,⽽且动态和静态资源也是耦合性太⾼。
其次是JSP页⾯的效率没有HTML⾼,因为JSP是同步加载。⽽且JSP需要tomcat,但⼜不⽀持nginx等,已经跟不上时代的潮流
性能对⽐:
发现Thymeleaf性能还是差了⼀⼤截的。
spring boot推荐⽀持,可能因为spring boot是快速开发,⽽thymeleaf⼜是原型即页⾯,所以从理念是接近的,只能这么想了

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。