从零开始的Spring Boot学习【十三】【模板Thymeleaf(一)】

使用过ssm,ssh等等的框架或者是动态的web项目的童鞋,基本都使用过JSP,但是在Spring Boot中,默认是不支持JSP的。什么?!不支持JSP?为啥不支持捏?

JSP技术Spring Boot官方是不推荐的原因:

1.在Tomcat上,JSP不能在嵌套在Tomcat容器解析即不能打包成可执行的jar情况下解析

2.Jetty嵌套的容器不支持JSP(Spring Boot 内嵌Jetty ,Tomcat ,Undertow ,默认是Tomcat)

3.Undertow同上

那它支持啥?Spring Boot既然不支持JSP,那么肯定就有一个更加简洁明了,方便编写的新技术了,对于一直使用JSP的人来说,一开始肯定会很不习惯,但是过段时间就会发现它的好处。模板引擎有很多种,例如Freemarker,Velocity,Thymeleaf。

JSP

优点:

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

缺点:

jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。


Freemarker

FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。

目前企业中:主要用Freemarker做静态页面或是页面展示

优点:

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

缺点:

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

Velocity

优点:

1、不能编写java代码,可以实现严格的mvc分离
2、性能良好,据说比jsp性能还要好些
3、使用表达式语言,据说jsp的表达式语言就是学velocity的

缺点:

1、不是官方标准
2、用户群体和第三方标签库没有jsp多。
3、对jsp标签支持不够好


Thymeleaf

Thymeleaf是个XML/XHTML/HTML5模板引擎,可以用于Web与非Web应用。

Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模。你可以使用它创建经过验证的XML与HTML模板。相对于编写逻辑或代码,开发者只需将标签属性添加到模板中即可。接下来,这些标签属性就会在DOM(文档对象模型)上执行预先制定好的逻辑。Thymeleaf的可扩展性也非常棒。你可以使用它定义自己的模板属性集合,这样就可以计算自定义表达式并使用自定义逻辑。这意味着Thymeleaf还可以作为模板引擎框架。

优点:

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

springboot官方推荐方案。

缺点:

模板必须符合xml规范。

js脚本必须加入。
————————————————
参考链接:https://blog.csdn.net/ztchun/article/details/76407612

当然说了那么多,大家还是要去了解,学习自己才能有所体会。

Spring Boot推荐使用是是模板引擎 Thymeleaf,它设计格式是:网页=模板+数据。也就是说一个是负责显示页面,一个是负责页面数据的部分。这样页面就不会像html,jsp那样凌乱,也能很快的分析出,到底是前端代码的问题,还是后端没有传回数据的问题。现在已经成为了一种趋势,所以学会一两种模板引擎显得非常有必要。

这里,博主形象的画了一幅图,大家应该能加深了解什么是模板引擎了。好了这章先做一个大概的了解,有一个模板引擎的概念,大家也要去转换下思想,不要抓着JSP不放,现在互联网发展迅猛,每时每刻都有新的东西,新的思想出现,要紧跟时代,接受新事物。

我们下一章开始讲Thymeleaf模板。

关注博主,更多精彩!

上一章:从零开始的Spring Boot学习【十二】【处理Web静态资源】

下一章:从零开始的Spring Boot学习【十四】【模板Thymeleaf(二)】

发布了40 篇原创文章 · 获赞 44 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/KnightHONG/article/details/104673682