页面静态化技术velocity与freemarker比较

本文比较了页面静态化技术中的Velocity和FreeMarker。虽然Velocity更轻量级,但FreeMarker功能更强大,适用于更多场景。FreeMarker在日期和数字支持、国际化、循环处理、模板级别数组处理、宏定义等方面表现出色。此外,FreeMarker还有丰富的第三方支持,更好的文本处理和错误提示,以及更优的XML转换和模板元程序。在选择时,FreeMarker的性能、宏定义、内置功能和JSP标签支持是关键因素。
摘要由CSDN通过智能技术生成
相比较 FreeMarker 而言,Velocity 更加简单、轻量级,但它的功能却没有 FreeMarker 那么强大。 

对于大部分的应用来说,使用 FreeMarker 比 Velocity 更简单,因为 Velocity 还必须编写一些自定义的toolbox类以及一遍遍重复的编写一些比较通用的模版代码,因此也就丧失了刚开始开发时更多的宝贵时间。另外使用工具类和变通的方法在模版引擎中似乎不是一个非常有效的做法。同时,Velocity 的做法使得在Velocity的模版中大量的跟 Java 对象进行交互,这违反了简单的原则,尽管你也可以将代码转入控制器中实现。当然,如果你像使用 Velocity 一样来使用 FreeMarker ,那么 FreeMarker 也可以跟 Velocity 一样简单。 

Velocity 一个优于 FreeMarker 的地方在于它有很广泛的第三方支持以及一个非常庞大的用户社区,你可以通过这个社区获得到很多的帮助,相反的 FreeMarker 在这方面要差很多。当然,也有越来越多的第三方软件开始在支持 FreeMarker 。 

下面是一些 FreeMarker 能做到的,而 Velocity 做不到的功能列表(且看着): 

1. 日期和数字的支持 
您可以执行运算和比较,对任意数量的类型,包括任意精度类型,而不仅仅是整数。 
您可以比较和显示(格式化)日期/时间值。 

2. 国际化 
您可以格式数字区域,各种各样的内置和自定义数字格式模式。 
您可以格式日期地区和时区,各种各样的内置和定制的日期格式模式。 
标识符(变量名)可以包含非英语字母一样重音字母,阿拉伯字母,汉字等 

3. 循环处理 
您可以退出循环 
您可以访问控制变量外循环机构的内部循环 
您可以得知当前是否到了循环的结束位置 

4. 模版级别的数组处理 
您可以使用[i]的语法来访问数组元素,包括原始的和非原始的指数 
可以获取到数组的长度 

5. 宏定义 
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值