速度还是 FreeMarker?
它们看起来几乎一样,甚至语法?
用什么?或者什么时候用什么?
项目的目标不同。
Velocity 的目标是使模板尽可能简单,以帮助保持逻辑和表示之间的隔离,这样您就不会滑下在模板中粘贴代码的滑坡。有时这是正确的。当然,有时能够将复杂的逻辑直接连接到模板中是正确的。
Velocity 不会经常被修改,但这并不意味着它没有处于积极开发中。用户社区大,代码快速稳定,语法基本固定。在过去的几年里,Freemarker 在模板语法和 api 方面经历了翻天覆地的变化。有时候,一个人待得很好。再次,取决于你在寻找什么。
Freemarker 的文档要广泛得多——而且它是一个复杂得多的软件。
Freemarker 的许多用例归结为想要一个复杂的模板工作流程而不想要一个编译步骤。近年来,我一直在使用 Python 或 Ruby,而不是用 Java 来解决这个问题。
Velocity 不再真正处于积极开发中。Freemarker 是。
根据我的经验,Freemarker 也更加灵活。
如果可以,请使用 Freemarker:
他们不时尝试使自己与众不同(示例)。
我与两者进行了广泛的合作,从我的角度来看,它们非常相似。您可以在模板语言中构建如此多的功能,其余的只是绒毛。
有两本关于 Velocity 的已出版书籍:
以及其他有关于它的章节的书籍。所以,关于 FreeMarker 拥有更多或更好的文档 :)。