uso sempre il metodo in cui i metodi controllore restituiscono ModelAndView
. Semplicemente perché tende a rendere i metodi del controller un po 'più concisi. I parametri del metodo sono ora rigorosamente input
parametri. E tutti i dati relativi a output
sono contenuti nell'oggetto restituito dal metodo.
Lo stile ModelAndView
sembra risuonare con le persone che non amano l'aggiornamento parametri di input a un metodo. Mantenendo la convinzione che ciò costituirebbe un effetto collaterale, un modello pericoloso perché non è possibile prevedere in modo affidabile che cosa il metodo sta per fare: potrebbe restituire i dati nell'oggetto restituito, oppure potrebbe aver aggiornato qualcosa in qualsiasi argomento di input.
Così alcune persone continuano a preferire ModelAndView
.
Il nuovo stile con Model
come parametro di metodo e stringa restituita come nome della vista. Sembra provenire da un approccio progettuale leggermente diverso. Qui gli oggetti del modello sono considerati come una sorta di eventi o elementi che vengono passati a più gestori, prima di essere restituiti alla vista in cui sono resi. Mi ricorda come gli eventi vengono gestiti nel mondo AWT/Swing. Questo modello è più coerente con l'approccio in cui più gestori possono costruire sopra gli oggetti Model
, fino a quando non raggiunge una vista.
Quindi, alla fine della giornata, non sembra esserci una ragione precisa per criticare o promuovere entrambi gli approcci. Dovresti usare lo stile che si sente più coerente con la tua filosofia di design generale.
Spero che questo aiuti.
Ha funzionato grazie :) Ecco il mio codice: '@RequestMapping (value = "STB1/home", method = RequestMethod.GET) \t pubblico ModelAndView homeAction() { \t \t ModelAndView mav = new ModelAndView ("STB1/home"); \t \t return mav; // rende /// /src/main/webapp/WEB-INF/jsp/STB1/home.jsp \t} ' –
Sangimed