Domanda

Sto pensando alla possibilità di utilizzare Spring MVC con Vaadin Framework. Ci sono dei modi documentati di facendoli giocare bene insieme? Inoltre è una buona idea usare insieme? relazione all'esecuzione; Ho intenzione di eseguire l'applicazione su un server dedicato.

Per fare la mia domanda un po 'più chiaro, come posso restituire un modelandview da un controller MVC primavera che wll di rendering utilizzando Vaadin e in grado di accedere a tutti i dati del modello.

È stato utile?

Soluzione

Supporto molla per Vaadin è abbastanza nuovo, ma non v'è stato recentemente un gran parlare sul forum e alcuni hanno testato. Sembra funzionare. C'è un articolo sul wiki Vaadin su di esso, e alcuni thread del forum a parlare di integrazione Vaadin + Primavera:

Wiki: Integrazione Primavera
Forum: può mulino toolkit essere integrato con l'applicazione di primavera
Forum: Primavera problema di integrazione
Forum: Lavorare con la Primavera
Forum: Integrazione Primavera

Altri suggerimenti

Non so se si tratta di una scelta prudente per integrare Vaadin con Spring MVC. Il suo uno spreco. MVC è pensato per pagina tipica applicazioni web basate dove, come Vaadin è più lo stato di visualizzazione basati come un'applicazione desktop. Vorrei in genere fare un incontro in mezzo e il mio livello di business e lo strato di accesso ai dati in primavera e utilizzare Vaadin come è.

questo discussione sul forum Vaadin per la mia soluzione AutowiringApplicationServlet, tra cui un'applicazione di esempio WAR.

concordato con dhrbo.

la sua sorgente non è saggio usare MVC, a maggior ragione con webflow con Vaadin. Vaadin è un altro framework web-app.

se si desidera che l'idea di "MVC primavera" nel progetto Vaadin, integrarlo con la molla-core, i fagioli e il contesto. in questo modo è possibile ottenere una netta separazione tra controllori, ui (Vaadin) e modelli (si integrano con Hibernate / ORM)

Ecco un articolo sull'integrazione livello di servizio primavera con Vaadin. Non ha alcun rapporto diretto Spring MVC che la domanda iniziale era di circa, ma può ancora essere un puntatore per altri lettori che ricercano Vaadin integrazione di Spring.

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

handleRequest di org.springframework.web.servlet.mvc.Controller prende un HttpServletRequest e HttpServletResponse come parametri. Da questi, non è possibile elaborare il frammento URI. Come tale, il controllore non è adatto per controllare le richieste basate su URI frammento.

Nella mia applicazione, ho implementato concetto molto simile al controller di primavera. La mia applicazione ha ancora un concetto di "opinioni" e "modello". Ogni vista è implementato in una classe separata e viene visualizzata in un blocco centrale della pagina. Volevo di centralizzare la logica del trattamento URL a quella classe, così ho creato una classe AbstractControllerEntry:

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

con diverse sottoclassi di convenienza, come ConstantEntry, PrefixEntry e RegexEntry.

Ogni classe di visualizzazione ha un metodo statico, che restituisce AbstractControllerEntry. Raccolta di tutte le voci è conservato in un array statico all'interno della classe di MyController (non un controller Spring MVC). Al momento del cambio frammento (vedi UriFragmentUtility ), ho iterare tutte le voci, e per primo, che corrisponde, chiamerò aperta. Qualsiasi altra logica, come trovare l'oggetto del modello, è all'interno della classe di visualizzazione, nella implmentation AbstractControllerEntry.

Additionaly, c'è un altro metodo statico per generare il frammento URI nella classe di visualizzazione, in modo che ogni riferimento ad una vista è un vero riferimento a una classe, questa è una soluzione a rotto collegamenti. E ogni vista ha metodo di istanza per ottenere un frammento di vista corrente, che viene controllata per abbinare una voce di controllo per aumentare la robustezza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top