【问题标题】:Rails like Views for a Spring MVC Web ApplicationRails 类似于 Spring MVC Web 应用程序的视图
【发布时间】:2011-03-25 09:54:10
【问题描述】:

我正在规划一个 Web 应用程序,我目前正在评估框架。过去我在 Ruby on Rails 上做过很多工作,但由于这个应用程序将依赖大量已经用 Java 编写的代码并且将在 Application Server 基础架构上运行,因此它也将使用 Java。

到目前为止,我查看了几个框架,Spring MVC (3.0) 看起来最符合我的计划。我喜欢与 Rails 相比有多少概念相似:前端控制器、推送视图和静态 URL。

但是,我仍然不确定视图部分。我希望能够拥有一个(或多个)应用程序模板,这些模板具有我网站的基本结构,带有徽标、页脚等。该模板将具有一些动态区域,例如导航部分等。(在 Rails speek 中,yield :导航) 一些视图代码,尤其是表单将被重用;这就是为什么像 partials 这样的东西也会很好。

我的首页可能是这样的:

+-------------------------------+
| Application.tmlp              |
|                               |
|  +-------------------------+  |
|  | index.tmpl              |  |
|  |                         |  |
|  |  +-------------------+  |  |
|  |  |                   |  |  |
|  |  | login_partial.tmpl|  |  |
|  |  |                   |  |  |
|  |  +-------------------+  |  |
|  |                         |  |
|  +-------------------------+  |
|                               |
+-------------------------------+

到目前为止,我找到了 Velocity、Freemarker 和 Tiles,但我仍然不确定哪一个最适合我的需要。我喜欢模板概念,因为我希望一些设计师来创建模板。

一些也不错但不如模板概念重要的东西是自动创建的链接,例如来自 rails 的 link_to 帮助器:

link_to "Profile", :controller => "profiles", :action => "show", :id => @profile

哪个 Spring MVC 的 View 实现最接近这个?非常感谢!

【问题讨论】:

  • 您是否在评估中也考虑了Play! framework?它比您当前列出的任何解决方案都更接近您尝试实现的目标。
  • 我不知道 Play!框架。我会仔细研究一下。谢谢!
  • 我现在也正在经历同样的事情......而且我还没有找到任何靠近 Rails 的东西。我决定使用 JSF2(用于视图)和 spring MVC 作为控制器,因为我也需要支持 REST 服务(jsf 不支持)。如果您发现任何有趣的东西,请与我们分享!我整个上午都在试图弄清楚如何像在 Rails 中那样编写链接,但我被打败了,所以我需要对链接进行“硬编码”(基本 url 除外)
  • 我还没有找到完全满足我需求的东西。看起来我将使用带有 Freemarker 的 Spring MVC。但这意味着硬编码的 URL...

标签: java web-applications spring-mvc


【解决方案1】:

看看grails,里面有sitemesh,我想这就是你要找的。​​p>

【讨论】:

  • 一定要看 Grails。来自 Rails,您会感到宾至如归。您也可以将 Sitemesh 与 Spring MVC 一起使用,但不幸的是 Spring MVC 没有“反向 URL 映射”(参见 stackoverflow.com/questions/1082759/…
【解决方案2】:

几个有用的视频:

真的,尽管如此,你已经被这种东西宠坏了,Java 需要更多的努力,我很抱歉说一切都接缝(我刚刚开始从 java 迁移到 rails3)。

您可能还想看看 struts。

【讨论】:

    【解决方案3】:

    为 JSP 构建模板的一个很好的框架是 Apache Tiles。它可以很容易地集成到 Spring Web MVC 应用程序中。


    或者,如果您有使用过 Ruby on Rails 的经验,可以查看 Spring Roo,在 Spring 之上添加“约定优于配置”和代码生成器层,类似于 Rails 为 Ruby 应用程序所做的。

    【讨论】:

      【解决方案4】:

      这个库几乎可以满足您的需求。它与 Rails 样式模板非常相似。

      http://code.google.com/p/jst4j/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-18
        • 1970-01-01
        • 1970-01-01
        • 2011-11-03
        • 2015-04-22
        相关资源
        最近更新 更多