一、velocity
优点:
- 简单、轻量级、易上手
- 易于第三方组件集成
- 社区庞大
缺点:
- 功能相对单调
- 需要编写自定义的通用模板代码(toolbox)
- 与java代码耦合度高
二、freemaker
优点:
- 相对来说使用更简单
- 性能,velocity应该是最好的,其次是jsp,普通的页面freemarker性能最差(虽然只是几毫秒到十几毫秒的差距)。但是在复杂页面上(包含大量判断、日期金额格式化)的页面上,freemarker的性能比使用tag和el的jsp好。
- 宏定义比jsp tag方便
- 内置大量常用功能。比如html过滤,日期金额格式化等等,使用非常方便
- 支持jsp标签
- 可以实现严格的mvc分离
缺点:
- 用户少、社区小
- 不是官方标准
- 用户群体和第三方标签库没有jsp多
三、jsp的模板
缺点:
- 可以写java代码,无法严格做到MVC模式
优点:
- 官方标准
- 用户群体和第三方标签库多。
- 对jsp标签支持不够好