Velocity
什么是velocity?
Velocity是一个基于java的模板引擎(template engine)。可以使用简单的模板语言(templatelanguage)来引用由java代码定义的对象。
Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供便利,同时也在JSP和PHP之间提供了一种可选的方案。也许您可能会有疑问,什么是模板引擎呢?
什么是模板引擎?
官方说,模板引擎(web开发模板引擎)是为了使用用户界面与业务数据内容分离而产生的,它可以生成特定格式的文档,用于网站模板引擎会就生成一个标准的html文档。还是从MVC模式说起,M(Model,模型)包括后台的事务逻辑、真正处理事务的代码和商业逻辑等,它们是整个网站中最重要的工作部分。V(vew视图)是网页显示部分,这部分接受来自后台程序结果或数据,进行显示。C(controller,控制器),c在视图和模型之间传递控制,并根据要求调用相应的视图显示模型返回数据,主要负责调度工作。
这样职责划分明确,简化了开发过程中相关人员的工作,而我们平时使用JSP页面,可以在JSP页面中写java相关逻辑,这样在V中混淆了逻辑代码。所以java模板引擎出现,模板引擎的出现,它严格的区分程序开发功能和职责的划分。
Velocity优点
1、 容易集成在各种各样领域中。
2、 为网页制作人员提供了一种清晰而简单的语法。
3、 因为模板和代码是分离的,所以可以分别独立的开发和维护他们。
4、 Velocity容易集成到一些java运行环境中,特别是servlet。
5、 Velocity使得模板可以访问任何环境对象中的共有方法。
6、 Java和SQL代码生成
7、 XML处理和转换。
8、 文字处理,比如生成trf文件等。
Velocity与jsp区别
Jsp比较熟悉
优点:
1、 功能强大,可以写java代码。
2、 支持jsp标签(jsp tag)
3、 支持表达式语言(el)
4、 官方标准,第三方jsp标签库,j2ee规范。
5、 性能良好。Jsp编译成class文件。
而velocity不能编写java代码,可以实现严格的mvc分离。比jsp性能还好些。使用表达式语言,据说jsp表达式语言就是学velocity的。
缺点:
Jsp中可以写java代码,当jsp中写过多的java业务逻辑,容易破坏mvc结构。
而velocity缺点,不能编写java代码;用户群体和第三方标签库没有jsp多;对jsp标签支持的不够好。
freemarker与velocity区别
同样和velocity一样,不能编写java代码,实现严格的mvc分离,性能不错,针对性能,velocity>freemarker>Jsp,但freemarker对JSP标签支持良好,内置大量常用功能,使用方便,宏定义非常方便。其缺点和velocity一样,不是官方标准,用户和第三方标签库没有jsp多。
在复杂页面上(大量判断,日期金额格式化),freemarker的性能比较好。
版权声明:本文为博主原创文章,未经博主允许不得转载。