用java开发中大型网站,一般都是用模板引擎么?比如XLTemplate、Velocity、FreeMarker这些。

2025-04-14 07:08:08
推荐回答(1个)
回答1:

  这个看你网站功能和性能需求了。网上有很多关于这些技术区别的,你可以去看一看。

  引用篇文章给你:

  浅谈jsp、freemarker、velocity区别

  http://blog.csdn.net/tjcyjd/article/details/16803877 作者:浮云中的毛驴

  以前做web开发页面层用的基本就是就是,最近公司java项目页面层用的技术是velocity。听说jsp要淘汰,也不知道是真是假,但本人还是比较喜欢jsp的,下面是网上查找的javaweb项目页面3种技术的区别。
  在java领域,表现层技术主要有三种:jsp、freemarker、velocity。

  jsp是大家最熟悉的技术
  优点:
  1、功能强大,可以写java代码
  2、支持jsp标签(jsp tag)
  3、支持表达式语言(el)
  4、官方标准,用户群广,丰富的第三方jsp标签库
  5、性能良好。jsp编译成class文件执行,有很好的性能表现
  缺点:
  jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。

  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分离