自由标记与速度

2022-09-02 00:30:09

我试图在Freemarker和Velocity之间做出决定,用作模板引擎,你看到每个引擎的任何优点/缺点?

我应该考虑哪些替代方案?


答案 1

Velocity和Freemarker都非常有能力。不要为选择而苦恼。它们在设计背后有相当不同的优先级,所以一旦你超越了基本的模板,它们的功能集就很难比较。Velocity的语法更简单,更独特,Freemarker更重的语法允许他们支持JSP库。Velocity通过VelocityTools等附加项目提供了更多的自由,并最终提供了更多的功能。Freemarker提供了更好的本机空格处理,最近的Velocity版本提供了更有趣的内容控件(#define,#evaluate,#[[文字块]]#)。

至于性能,Velocity近年来取得了很大的进步,除了最初的模板解析。但是对于性能至关重要的任何理智的应用程序,您应该将两个引擎都设置为缓存模板并且仅解析一次,从而减少问题。通常,您会发现使用任一引擎的性能更多地取决于模板的性质,而不是引擎之间的差异。

StringTemplate也是值得尊敬的,尽管他们是MVC纳粹分子,在功能上无法与Velocity或Freemarker相匹配。;)你的潜在失望程度比任何一个更流行的模板引擎都要高一点,其中两者都不太可能让人失望。只需抓住一个,然后走。


答案 2

我更喜欢FreeMarker。我喜欢文档,我总能找到我需要的东西。总的来说,我只是认为它非常强大。

字符串模板是另一种选择。


推荐