JSP和FreeMarker的比较

JSP

是大家最熟悉的技术

优点

  1. 功能强大,可以写java代码
  2. 支持jsp标签(jsp tag)
  3. 支持表达式语言(el)
  4. 官方标准,用户群广,丰富的第三方jsp标签库
  5. 性能良好。jsp编译成class文件执行,有很好的性能表现

缺点

jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。

 

velocity

velocity是较早出现的用于代替jsp的模板语言

优点

  1. 不能编写java代码,可以实现严格的mvc分离
  2. 性能良好,据说比jsp性能还要好些
  3. 使用表达式语言,据说jsp的表达式语言就是学velocity的

缺点

  1. 不是官方标准
  2. 用户群体和第三方标签库没有jsp多。
  3. 对jsp标签支持不够好

 

freemarker

优点

  1. 不能编写java代码,可以实现严格的mvc分离
  2. 性能非常不错
  3. 对jsp标签支持良好
  4. 内置大量常用功能,使用非常方便
  5. 宏定义(类似jsp标签)非常方便
  6. 使用表达式语言

缺点:

  1. 不是官方标准
  2. 用户群体和第三方标签库没有jsp多

选择freemarker的原因

  1. 性能。velocity应该是最好的,其次是jsp,普通的页面freemarker性能最差(虽然只是几毫秒到十几毫秒的差距)。但是在复杂页面上(包含大量判断、日期金额格式化)的页面上,freemarker的性能比使用tag和el的jsp好。
  2. 宏定义比jsp tag方便
  3. 内置大量常用功能。比如html过滤,日期金额格式化等等,使用非常方便
  4. 支持jsp标签
  5. 可以实现严格的mvc分离

 

原文链接:https://zhidao.baidu.com/question/1927237641662332747.html?qbl=relate_question_1&word=Freemaker%BA%CDjstl

你可能感兴趣的:(JSP)