freemarker与velocity以及jsp的对比
在java领域,表现层技术主要有三种:jsp、freemarker、velocity。
jsp
优点
功能强大,可以写java代码
支持jsp标签(jsp tag)
支持表达式语言(el)
官方标准,用户群广,丰富的第三方jsp标签库
性能良好。jsp编译成class文件执行,有很好的性能表现
缺点
jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。
velocity
velocity是较早出现的用于代替jsp的模板语言
优点
不能编写java代码,可以实现严格的mvc分离
性能良好,据说比jsp性能还要好些
使用表达式语言,据说jsp的表达式语言就是学velocity的
缺点
不是官方标准
用户群体和第三方标签库没有jsp多。
对jsp标签支持不够好
freemarker
优点
不能编写java代码,可以实现严格的mvc分离
性能非常不错
对jsp标签支持良好
内置大量常用功能,使用非常方便
宏定义(类似jsp标签)非常方便
使用表达式语言
缺点
性能对比