java - 在 MVC 应用程序中为 View 层使用 JSTL 与 Velocity 的好处?

标签 java spring jsp spring-mvc velocity

我目前正在构建一个 Spring MVC 应用程序。我一直在寻找使用带有标记库的 JSP 页面来处理 View 层和 HTML 格式,但我遇到了我公司的另一个小组,他们使用 Velocity 模板来实现相同的目的。

在我看来,这两种方法之间似乎有很多相似之处:

  1. 两者都有易于理解的语法。让非开发人员更容易理解和使用,让设计人员专注于 HTML/CSS,只需要在需要条件/动态内容的少数情况下使用指令/标签库,而不必完全了解 java 。
  2. 简单地查看内容的哪一部分是 HTML 与哪一部分是指令/逻辑。
  3. 两者都被大量使用并得到很好的支持。
  4. 易于与 Spring MVC 集成。

但是在比较这两种技术时,我看不出使用其中一种技术的任何具体原因。我很难想到 Velocity 或 JSTL 特有的任何缺点。

所以我的问题是,您认为每种方法的优缺点是什么?如果您使用其中一种或另一种构建了(Spring)MVC 应用程序,那么是什么让您决定使用的 View 层技术以及什么(如果有的话)让您决定反对另一种?

更新:我在 Spring Framework 论坛的 here 上找到了关于同一主题的类似讨论。 ,这对于在 JSTL 和 Velocity 之间做出相同决定的人来说可能会有些兴趣。

最佳答案

我更喜欢使用 Velocity 只是因为使用 JSP+JSTL 可以让懒惰/草率的开发人员通过添加脚本而陷入麻烦。应该没有理由在您的 View 层中有 java 代码。了解 Velocity 并不需要太多时间,事实上我只是在大约两周内学会了它。虽然我不喜欢输出的格式,但在大多数情况下它工作得很好。我们实际上并没有在应用程序的 View 层中使用它,而是用于生成 HTML 以供其他浏览器使用。我们将 Velocity 的输出保存为文件,然后将其部署到不同的服务器以供其他 Web 客户端使用。

关于java - 在 MVC 应用程序中为 View 层使用 JSTL 与 Velocity 的好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/381377/

相关文章:

java - en_US 或 en-US,您应该使用哪一个?

java - 关闭 hibernate 日志到控制台

java - 如何在没有 get/set 方法的情况下获取对象 JSON

java - 即使 Spring MVC Controller 中存在映射,也找不到映射

java - 如何在没有表单的情况下为每个循环将一个值从一个 JSP 页面发送到另一个 JSP 页面?

java - 即使MQTT服务器无法访问,如何启动camel

java - 如何在Android手机上制作RTSP服务器?

java - 有哪些方法可以优化在 Android 上运行的服务?

java - Spring Boot中如何导入xml文件?

mysql - 无法使用 Servlet 连接到 MySQL 数据库