2013-09-01 25 views
43

Recentemente mi sono imbattuto in AngularJS. Sono uno sviluppatore web Java. Voglio usare AngularJS insieme al framework Spring-MVC. Ma ho bisogno di alcune basi di base (tutorial) per iniziare.AngularJS con Spring-mvc

Conosco le informazioni di base di AngularJS, ma come integrarlo con Spring-MVC. Per la maggior parte del tempo, restituisce automaticamente i jsp (s) parziali, e li aggiungiamo usando jsp-include, mentre AngularJS si aspetta i dati JSON la maggior parte del tempo.

risposta

53

Due casi:

  1. La tua architettura è completamente client-side: in questo caso l'integrazione è molto naturale. Spring MVC espone il tuo servizio come REST (JSON/XML) e l'applicazione client con AngularJS consuma il tuo JSON. Qui l'applicazione .war (Spring MVC) deve essere distribuita in un contenitore servlet (ad esempio Tomcat) e l'applicazione client può essere distribuita nello stesso server o in un server HTTP come Nginx o Apache.

  2. Si desidera mantenere la generazione di pagine sul lato server e utilizzare solo AngularJS per alcune manipolazioni DOM in modo che il codice debba essere distribuito nello stesso file .war (all'interno della cartella WEB-INF /).

Mischiare i due approcci non è sempre una buona idea. Puoi provare Thymeleaf per rimanere nella generazione di pagine sul lato server e allo stesso tempo avere template, testabilità e codice di visualizzazione pulito.

+0

Grazie per l'intuizione. Per quanto riguarda la guerra (Spring-MVC), ho l'applicazione pronta con il servizio REST. Dovevo semplicemente avere direttamente le pagine .html nelle mie viste o dovrei usare come al solito la pagina .jsp con AngularJS perché finalmente quando sono renderizzate sul lato client sono html. –

+3

Se l'applicazione è REST completa, non è necessario utilizzare JSP. Introdurrà complessità, utilizzare solo file HTML. Presta attenzione al tuo modello di sicurezza e autorizzazione, generazione backend (JSP) e l'uso della sicurezza a molla rendono le cose molto facili con il tag JSP. Lib of spring security, dovrai gestirlo manualmente dal lato client. Questa bella direttiva può aiutarti https://github.com/witoldsz/angular-http-auth/ – Nabil

+0

Grazie Nabil. Ci proverò. Al momento ho mantenuto la mia shell come pagina jsp. Tutti i partial sono .html, ma esaminerò sicuramente il link github che hai fornito. Con HTML ero preoccupato per la sicurezza –

36

Basta impostare i file angular.js come file statici. Non dovrebbe esserci nulla di privato lì comunque.

Utilizzare Spring MVC come provider di servizi REST anziché JSP/Velocity/Qualsiasi altro risolutore di viste Modello.

Hai progetti di esempio sui siti folowing:

+0

Grazie acaro. Analizzerò questi progetti e discussioni. –

+0

il primo collegamento è molto buono, grazie – userRaj

Problemi correlati