25

我正在考虑将 Spring MVC 与 Vaadin 框架一起使用的可能性。是否有任何记录在案的方法可以让它们一起很好地发挥作用?一起使用它们是一个好主意吗?与表现有关;我将在专用服务器上运行该应用程序。

为了让我的问题更清楚一点,我如何从 Spring MVC 控制器返回一个模型和视图,该控制器将使用 Vaadin 进行渲染并可以访问所有模型数据。

4

6 回答 6

20

Spring 对 Vaadin 的支持是相当新的,但最近论坛上有很多关于它的讨论,有些人已经对其进行了测试。似乎工作。Vaadin wiki 上有一篇关于它的文章,论坛上有一些讨论 Vaadin + Spring 集成的帖子:

Wiki: Spring Integration
Forum: can it mill toolkit be compatible with spring application
论坛: Spring integration problem
论坛: Working with Spring
Forum: Spring Integration

于 2009-07-26T20:31:31.997 回答
4

不确定将 vaadin 与 Spring MVC 集成是否是明智的选择。它是一种浪费。MVC 适用于典型的基于页面的 Web 应用程序,因为 vaadin 更像是桌面应用程序一样基于视图状态。我通常会在中间开会,在春季拥有我的业务层和数据访问层,并按原样使用 Vaadin。

于 2010-06-17T15:49:21.087 回答
2

有关我的解决方案,请参阅Vaadin 论坛上的此线程AutowiringApplicationServlet,包括示例 WAR 应用程序。

于 2010-05-11T22:42:52.413 回答
1

同意 dhrbo。

使用 spring mvc 是不明智的,使用带有 vaadin 的 webflow 更是如此。vaadin 是另一个网络应用程序框架。

如果您想在您的 vaadin 项目中使用“spring mvc”的想法,请将其与 spring-core、bean 和 context 集成。这样您就可以清楚地分离控制器、ui (vaadin) 和模型(与 hibernate / orms 集成)

于 2010-07-29T03:29:55.507 回答
1

这是一篇关于将 Spring 服务层与 Vaadin 集成的文章。它与原始问题所涉及的 Spring MVC 没有直接关系,但它仍然可以作为其他研究 Vaadin Spring 集成的读者的指针。

http://psponcoding.blogspot.com/2011/03/vaadin-spring-integration.html

于 2011-03-08T14:22:45.513 回答
0

org.springframework.web.servlet.mvc.Controller的 handleRequest 接受一个HttpServletRequestandHttpServletResponse作为参数。从这些中,您无法处理 URI 片段。因此,控制器不适合控制基于 URI 片段的请求。

在我的应用程序中,我实现了与 Spring 控制器非常相似的概念。我的应用程序仍然有“视图”和“模型”的概念。每个视图都在一个单独的类中实现,并显示在页面的中央块中。我想将 URL 处理的逻辑集中到那个类,所以我创建了一个类AbstractControllerEntry

public static abstract class AbstractControllerEntry {
    public abstract boolean matches(String fragment);
    public abstract void open(MainWindow window, String fragment);
}

有几个方便的子类,例如ConstantEntry,PrefixEntryRegexEntry.

每个视图类都有一个静态方法,它返回AbstractControllerEntry. 所有条目的集合都保存在MyController类内部的静态数组中(不是 Spring MVC 控制器)。在片段更改时(请参阅UriFragmentUtility),我会迭代所有条目,对于第一个匹配的条目,我将调用 open。任何其他逻辑,例如查找模型对象,都在视图类的实现中AbstractControllerEntry

另外,在视图类中还有另一种静态方法来生成 URI 片段,因此对视图的每个引用都是对类的真实引用,这是对断​​开链接的解决方案。每个视图都有实例方法来获取当前视图的片段,检查该片段以匹配控制器条目以增加健壮性。

于 2012-09-05T07:03:50.080 回答