【问题标题】:Please recommend a view technology to be used in Spring MVC 3 applications请推荐一种在 Spring MVC 3 应用中使用的视图技术
【发布时间】:2011-03-19 08:54:15
【问题描述】:

我正在寻找哪种视图技术被认为是 Spring MVC 3.0 的最佳方法,它灵活、可维护并允许多种呈现技术,例如 HTML、PDF 等...

我们正在寻求使用 Spring MVC 3.0 开发我们的下一个 Web 应用程序,并已决定使用 Hibernate 来实现持久性,但仍在尝试确定最合适的视图技术。

我们需要对 PDF 报告的支持,但很可能会使用 iText 编写这些报告。

是否有任何 maven 架构类型可以设置具有持久性和视图技术的推荐应用程序?

Spring 示例使用了一系列不同的技术,从 JSTL 到 Apache Tiles,我们过去只使用过 JSP,因为我们在 2003 年迁移到 .NET,现在又回到 Java。

【问题讨论】:

    标签: java spring-mvc rendering


    【解决方案1】:

    如果您使用的是最新版本,那么使用 JSP 确实没有什么问题。您当然可以选择 Freemarker、Velocity 和其他很酷的查看器,但如果您的整个团队已经习惯于处理 JSP,那么在采用新技术时,您需要考虑您的项目截止日期和所有学习曲线。如果它有意义,当然,学习另一件新东西也没有什么坏处。

    在我的例子中,我使用带有 Sitemesh 的 JSP 作为我的模板。我使用 JSP/Strut Tiles 组合已经有一段时间了,但我发现模板过于侵入,Sitemesh 对我来说似乎更加无缝,因为它不会用一些 Tile 特定的自定义标签来混淆我的实际 JSP 文件。

    【讨论】:

    • +1 提到了利用团队现有的 JSP 经验……这可能是人们最常忽略的成本因素。
    • 我开始考虑这个,我实际上开始考虑完全放弃弹簧并回到我们自己的控制器。无论如何,这不是最好的方法,但我们知道该怎么做。你认为学习spring到底值不值得?
    • 我可以补充一下,我们目前的知识是针对 JSP 1.2 和 servlet 2.3 应用程序,我们从来没有真正需要“升级”它们。由于我们重新开始使用这个,我们认为我们应该使用当前的。我猜其他人一直处于这个位置,有兴趣听到其他人的接近。
    • 要回答您关于 Spring 的问题,是的……如果可以,请学习它。自制框架的最大问题是你最终会得到紧密耦合的模块,这使得你的代码很难测试。 Spring 使您的代码非常松散耦合且易于测试,尤其是当您在团队环境中工作时,您可以确保你们不会互相踩脚,并且每个人都遵守最佳实践,从而增强了未来的知识转移而不是试图让某人了解您的本土框架。
    【解决方案2】:

    以下是一些。

    • Freemarker
    • Apache 速度
    • 带有 apache 磁贴的 JSP(新的 2.1 还可以,具有改进的功能、简化的自定义标签等)

    Here 是一个讨论与视图技术集成的文档

    我们目前在 google appengine 上使用 Jsp 2.1 和 spring webmvc 3.0x 和 apache 磁贴,它很好地满足了我们的目的。

    【讨论】:

    • +1 用于 JSP - 现在比 2003 年要好得多
    • @skaffman 谢谢,+1 是否意味着一票赞成? :D,如果是,它不会显示在这里。
    【解决方案3】:

    Apache Velocity怎么样

    这是我所知道的最流行的模板引擎。不过希望得到更多建议。

    更新:

    Freemarker 是另一个

    Source

    【讨论】:

      【解决方案4】:

      如果我是你,我现在会坚持使用 jsps。如果您决定某些流程需要其他内容,您可以在 Spring 中混合和匹配您的视图。例如,如果您打算使用任何 ajax 样式处理,则需要使用不同的视图类型。

      【讨论】:

        【解决方案5】:

        JSP:易于使用和维护。

        其他还有 Apache Velocity、Freemarker。

        我个人会推荐JSP

        【讨论】:

          猜你喜欢
          • 2013-09-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-18
          • 2015-05-10
          • 2010-09-25
          相关资源
          最近更新 更多