Intégration de Vaadin et de Spring MVC

je pense à la possibilité d'utiliser MVC printemps avec cadre Vaadin. Existe-t-il des moyens documentés de les faire jouer gentiment ensemble ? Aussi est-ce une bonne idée de les utiliser ensemble ? concernant les performances, je vais exécuter l'application sur un serveur dédié.

pour rendre ma question un peu plus claire, comment puis-je retourner un modelandview à partir d'un contrôleur MVC de printemps qui va rendre en utilisant Vaadin et peut accéder à toutes les données du modèle.

25
demandé sur dakull 2009-07-26 23:34:23

6 réponses

le soutien de printemps pour Vaadin est tout à fait nouveau, mais il y a eu beaucoup de discussions à ce sujet récemment sur le forum et certains l'ont testé. Semble fonctionner. Il y a un article sur le wiki de Vaadin à ce sujet, et quelques fils sur le forum parlant de L'intégration de Vaadin + Spring:

Wiki: Spring Integration

Forum: peut-on mill toolkit être intégré avec l'application au printemps

Forum: intégration de printemps problème

Forum: Travailler avec le Printemps

Forum: Spring Integration

20
répondu Jens Jansson 2009-07-26 20:31:31

on ne sait pas si c'est un choix prudent d'intégrer vaadin avec ressort MVC. C'est un gaspillage. MVC est destiné aux applications web typiques basées sur la page où comme vaadin est plus basé sur l'état de la vue comme une application de bureau. Je ferais généralement une réunion dans le milieu et avoir mon niveau d'entreprise et la couche d'accès aux données au printemps et d'utiliser Vaadin comme tel.

5
répondu dhrbo 2010-06-17 15:49:21

Voir ce fil sur le forum de Vaadin pour mon AutowiringApplicationServlet solution, y compris un exemple D'application de guerre.

2
répondu Archie 2010-05-11 22:42:52

d'accord avec dhbo.

il n'est pas sage d'utiliser le ressort mvc, surtout avec webflow avec vaadin. vaadin est un autre cadre d'application web.

si vous voulez l'idée de "spring mvc" dans votre projet vaadin, intégrez-la à spring-core, beans et context. de cette façon, vous pouvez obtenir une séparation claire entre les contrôleurs, ui (vaadin), et les modèles (intégrer avec hibernate / orms)

1
répondu gerarldlee 2010-07-29 03:29:55

voici un article sur l'intégration de la couche de service à ressort avec Vaadin. Il ne se rapporte pas directement à MVC de printemps que la question originale portait, mais il peut encore être un indicateur pour d'autres lecteurs de recherche Vaadin Spring intégration.

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

1
répondu psp 2011-04-22 06:23:29

org.springframework.web.servlet.mvc.Controller's handleRequest prend un HttpServletRequest et HttpServletResponse en tant que paramètres. À partir de ceux-ci, vous ne pouvez pas traiter le fragment D'URI. En tant que tel, le controller n'est pas adapté pour contrôler les requêtes basées sur un fragment D'URI.

dans mon application, j'ai implémenté un concept très similaire au contrôleur à ressort. Ma demande a toujours une notion de "points de vue" et "modèle". Chaque vue est implémentée dans une classe séparée et est affichée dans un bloc central de la page. Je voulais centraliser la logique de la Traitement D'URL vers cette classe, donc j'ai créé une classe AbstractControllerEntry:

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

avec plusieurs sous-classes commodes comme ConstantEntry,PrefixEntry et RegexEntry.

chaque classe de vue a une méthode statique, qui retourne AbstractControllerEntry. La collecte de toutes les entrées est conservé dans un tableau statique à l'intérieur de MyController classe (pas un contrôleur Spring MVC). Lors du changement de fragment (voir UriFragmentUtility), je répète toutes les entrées, et pour la première, qui correspond, je vais appeler ouvert. Tout une autre logique, telle que trouver l'objet model, est à l'intérieur de la classe view, dans le AbstractControllerEntry mise en oeuvre.

de plus, il y a une autre méthode statique pour générer le fragment URI dans la classe view, de sorte que chaque référence à une vue est une référence réelle à une classe, c'est une solution aux liens rompus. Et chaque vue a une méthode d'instance pour obtenir un fragment pour la vue courante, qui est cochée pour correspondre à une entrée de controller pour augmenter la robustesse.

0
répondu Oliv 2012-09-05 07:03:50