我目前正在构建一个 Spring MVC 应用程序。我希望使用带有标记库的 JSP 页面来处理视图层和 HTML 格式,但是我遇到了我公司中的另一个小组,他们使用 Velocity 模板来实现相同的目的。
在我看来,这两种方法之间似乎有很多相似之处:
- 两者都有易于理解的语法。让非开发人员更容易理解和使用,让设计人员专注于 HTML/CSS,只需要在需要条件/动态内容的少数情况下使用指令/标签库,而不必完全了解爪哇。
- 很容易看出内容的哪些部分是 HTML 与哪些是指令/逻辑。
- 两者都被大量使用并得到很好的支持。
- 易于与 Spring MVC 集成。
但是在比较这两种技术时,我看不出使用其中一种技术的任何具体原因。我很难想到 Velocity 或 JSTL 特有的任何缺点。
所以我的问题是,您认为每种方法的优缺点是什么?如果您使用其中一个或另一个构建了一个(Spring)MVC 应用程序,是什么让您决定您正在使用的视图层技术,以及是什么(如果有的话)让您决定反对另一个?
更新:我在 Spring Framework 论坛的here上找到了关于该主题的类似讨论,这对于在 JSTL 和 Velocity 之间做出相同决定的人来说可能会有些兴趣。