繁体   English   中英

Vaadin和Spring MVC集成

[英]Vaadin and Spring MVC Integration

我正在考虑使用Spring MVC和Vaadin Framework的可能性。 有没有任何记录的方法可以让它们很好地融合在一起? 同时使用它们也是个好主意吗? 与表现有关; 我将在专用服务器上运行该应用程序。

为了使我的问题更清楚,我如何从Spring MVC Controller返回一个modelandview,它将使用Vaadin呈现并可以访问所有模型数据。

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

Wiki:Spring Integration
论坛:它可以将工具包与spring应用程序集成
论坛:Spring集成问题
论坛:与Spring合作
论坛:Spring Integration

不确定将vaadin与Spring MVC集成是否是一个谨慎的选择。 这是浪费。 MVC适用于典型的基于页面的Web应用程序,其中vaadin更像是基于桌面应用程序的视图状态。 我通常会在中间进行会面并在春季使用我的业务层和数据访问层并按原样使用Vaadin。

在Vaadin论坛上查看我的AutowiringApplicationServlet解决方案的这个主题 ,包括一个示例WAR应用程序。

同意dhrbo。

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

如果你想在你的vaadin项目中使用“spring mvc”的想法,那么将它与spring-core,beans和context集成在一起。 这样你就可以清楚地分离控制器,ui(vaadin)和模型(与hibernate / orms集成)

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

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

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

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

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

有几个方便的子类,如ConstantEntryPrefixEntryRegexEntry

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM