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

为了使我的问题更加清楚,如何从弹簧MVC控制器中返回模型浏览器,该弹簧MVC控制器使用Vaadin呈现并访问所有模型数据。

有帮助吗?

解决方案

春季对Vaadin的支持是非常新的,但是最近在论坛上有很多关于它的讨论,有些已经对其进行了测试。似乎有效。关于Vaadin Wiki有一篇文章,有关Vaadin + Spring Integration的一些线程:

Wiki:春季整合
论坛:可以将工具包与春季应用程序集成
论坛:春季整合问题
论坛:与春天一起工作
论坛:春季整合

其他提示

不确定将Vaadin与Spring MVC整合在一起是否是审慎的选择。它的浪费。 MVC是针对基于典型的网络应用程序的,其中Vaadin更像桌面应用程序更基于视图状态。我通常会在中间见面,并在春季进行业务层和数据访问层,并按原样使用vaadin。

这个线程 在我的瓦丁论坛上 AutowiringApplicationServlet 解决方案,包括示例战争申请。

同意DHRBO。

使用Spring MVC是不明智的,与Vaadin一起使用WebFlow。 Vaadin是另一个Web应用框架。

如果您希望在Vaadin项目中使用“ Spring MVC”的想法,请将其与弹簧核,豆类和上下文集成在一起。这样,您可以在控制器,UI(Vaadin)和模型(与Hibernate / Orms集成)之间获得明确的分离

这是一篇有关将春季服务层与vaadin集成的文章。它与原始问题有关的春季MVC并不直接相关,但它仍然可以成为其他研究Vaadin Spring整合的读者的指针。

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

org.springframework.web.servlet.mvc.Controller的HandleRequest采取了 HttpServletRequestHttpServletResponse 作为参数。通过这些,您无法处理URI片段。因此,控制器不适合基于URI片段控制请求。

在我的应用程序中,我实现了与弹簧控制器非常相似的概念。我的应用程序仍然有“视图”和“模型”的概念。每个视图都在单独的类中实现,并显示在页面的中央块中。我想将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 类(不是弹簧MVC控制器)。片段变化(请参阅 乌利弗拉格),我迭代所有条目,首先是匹配的,我将打开打开。任何其他逻辑,例如查找模型对象,都在视图类中, AbstractControllerEntry 暗示。

另外,还有另一种静态方法可以在视图类中生成URI片段,因此对视图的每个引用都是对类的真实引用,这是破坏链接的解决方案。并且每个视图都有实例方法来获取当前视图的片段,该片段可以检查以匹配控制器条目以提高鲁棒性。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top