模板引擎
模板引擎是为了解决用户界面(显示)与业务数据(内容)分离而产生的。它可以生成一个特定格式的文档,网站用模板引擎
模板引擎的基本原理:转换(替换).它将指定的标签转化为需要的业务数据;将指定的伪语句按照某种流程来变换输出。
常见的模板引擎
thymeleaf(重要)、jsp(不常用)、(了解一下 FreeMarke、,Enjoy、Velocity)
JSP
虽然是一款功能比较强大的模板引擎,并被广大开发者熟悉,但它前后端耦合比较高。比如说前端的html页面还要手动修改成jsp页面,大大加重了工作量,而且动态和静态资源也是耦合性太高。
其次是JSP页面的效率没有HTML高,因为JSP是同步加载。而且JSP需要tomcat,但又不支持nginx等,已经跟不上时代的潮流。
综上:目前开发中已经很少用JSP了,只是我们很多时候会在碰到一些以前的框架里有用到JSP技术,但是技多不压身,推荐还是学一下(如果工作不需要,可以不学)。
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标签支持不够好
4、已经很久很久没有维护了。