我想在使用Spring MVC与Vaadin框架的可能性。 有没有使他们很好地一起玩的任何记录方式? 也是它一起使用它们的好主意吗? 与性能; 我要在专用服务器上运行的应用程序。
为了使我的问题有点更清晰,我怎么可以从Spring MVC的控制器返回一个ModelAndView是无线本地环路渲染使用Vaadin并且可以访问所有的模型数据。
我想在使用Spring MVC与Vaadin框架的可能性。 有没有使他们很好地一起玩的任何记录方式? 也是它一起使用它们的好主意吗? 与性能; 我要在专用服务器上运行的应用程序。
为了使我的问题有点更清晰,我怎么可以从Spring MVC的控制器返回一个ModelAndView是无线本地环路渲染使用Vaadin并且可以访问所有的模型数据。
为Vaadin春天支持是很新,但最近有很多谈论它的论坛和一些已经进行了测试。 似乎工作。 有对Vaadin维基关于它的文章,并在论坛上谈论Vaadin + Spring集成一些线程:
维基:Spring集成
论坛:可以在磨工具与Spring应用集成
论坛:春整合问题
论坛:使用弹簧工作
论坛:Spring集成
不知道这是一个明智的选择,vaadin与Spring MVC的整合。 它是一种浪费。 MVC是为典型的基于网页的网络应用程序,其中作为Vaadin是基于像一个桌面应用程序更视图状态。 我通常会在中间做一个见面,并有我的业务层和数据访问层在春季和使用Vaadin原样。
请参阅此线程的Vaadin论坛我AutowiringApplicationServlet
解决方案,包括样本WAR应用程序。
与dhrbo同意。
它不是明智的做法是使用Spring MVC的,更何况与vaadin的Webflow。 Vaadin是另一个web应用程序框架。
如果你想在你的vaadin项目“Spring MVC的”的想法,这弹簧芯,豆类和上下文结合起来。 这样你可以得到控制器,用户界面(vaadin)和模型之间的明确分离(与Hibernate /奥姆斯整合)
以下是有关使用Vaadin集成Spring业务层的文章。 它并不直接涉及到Spring MVC的,原来的问题是什么,但它仍然可以为其他读者研究Vaadin Spring集成的指针。
http://psponcoding.blogspot.com/2011/03/vaadin-spring-integration.html
org.springframework.web.servlet.mvc.Controller
的的handleRequest需要HttpServletRequest
和HttpServletResponse
作为参数。 从这些,你不能处理URI片段。 因此,控制器不适合用于基于URI片段的请求。
在我的应用程序,我实现了非常类似的概念春天控制器。 我的应用程序仍然有“意见”和“模式”这个概念。 每个视图在一个单独的类中实现并且被显示在页面的中心块。 我想集中的URL处理该类的逻辑,所以我创建了一个类AbstractControllerEntry
:
public static abstract class AbstractControllerEntry {
public abstract boolean matches(String fragment);
public abstract void open(MainWindow window, String fragment);
}
与几个方便子类,如ConstantEntry
, PrefixEntry
和RegexEntry
。
每个视图类有一个静态方法,它返回AbstractControllerEntry
。 所有条目的收集保存在内部的静态数组MyController
类(而不是Spring MVC的控制器)。 在片段的变化(见UriFragmentUtility ),我遍历所有条目,并为第一,它匹配,我会打电话给开。 任何其他逻辑,如查找模型对象,是视图类的内部,在AbstractControllerEntry
implmentation。
Additionaly,还有另一种,以产生在视图类的URI片段静态方法,使每一个参照本发明的观点是一个真正的参考一类,这是一个解决方案,断开的链接。 每个视图有实例方法以获取当前视图,这是检查,以匹配控制器项,以增加稳健性的片段。