Model, ModelMap og ModelAndView in Spring MVC

1. Oversikt

I denne artikkelen vil vi se på bruken av kjernen org.springframework.ui.Modell, org.springframework.ui.ModelMap og org.springframework.web.servlet.ModelAndView levert av Spring MVC.

2. Maven-avhengigheter

La oss starte med vår-kontekst avhengighet i vår pom.xml fil:

 org.springframework spring-context 5.2.2.RELEASE 

Den siste versjonen av våravhengighetsavhengighet finner du her.

For ModelAndView, den vår-nett avhengighet kreves:

 org.springframework spring-web 5.2.2.RELEASE 

De nyeste versjonene av våravhengighet finner du her.

Og hvis vi bruker Thymeleaf som vårt syn, bør vi legge til denne avhengigheten til pom.xml:

 org.thymeleaf thymeleaf-spring5 3.0.11.RELEASE 

Den siste versjonen av Thymeleaf avhengighet finner du her.

3. Modell

La oss starte med det mest grunnleggende konseptet her - Modell.

Enkelt sagt, modellen kan levere attributter som brukes til å gjengi visninger.

For å gi et syn med brukbare data, legger vi bare til disse dataene Modell gjenstand. I tillegg kan kart med attributter slås sammen med Modell forekomster:

@GetMapping ("/ showViewPage") offentlig String passParametersWithModel (modellmodell) {Map map = new HashMap (); map.put ("vår", "mvc"); model.addAttribute ("melding", "Baeldung"); modell.mergeAttributter (kart); returner "viewPage"; }

4. ModelMap

Akkurat som Modell grensesnitt over, ModelMap brukes også til å overføre verdier for å gjengi en visning.

Fordelen med ModelMap er det gir oss muligheten til å passere en samling verdier og behandle disse verdiene som om de var innenfor en Kart:

@GetMapping ("/ printViewPage") public String passParametersWithModelMap (ModelMap map) {map.addAttribute ("welcomeMessage", "welcome"); map.addAttribute ("melding", "Baeldung"); returner "viewPage"; }

5. ModelAndView

Det siste grensesnittet for å overføre verdier til en visning er ModelAndView.

Dette grensesnittet lar oss overføre all informasjonen som kreves av Spring MVC i en retur:

@GetMapping ("/ goToViewPage") offentlig ModelAndView passParametersWithModelAndView () {ModelAndView modelAndView = ny ModelAndView ("viewPage"); modelAndView.addObject ("melding", "Baeldung"); returmodellAndView; } 

6. Utsikten

All data, vi plasserer i disse modellene, brukes av en visning - generelt, en malvisning for å gjengi websiden.

Hvis vi har en Thymeleaf malfil målrettet av kontrollerens metoder som deres syn. En parameter som sendes gjennom modellen vil være tilgjengelig innen HTML-koden:

   Tittel webapplikasjon. Bestått parameter: th: text = "$ {message}" 

Parameteren som sendes her brukes gjennom syntaksen $ {melding}, som er kjent som en plassholder. Thymeleaf malmotoren erstatter denne plassholderen med en faktisk verdi fra et attributt med samme navn som sendes gjennom modellen.

7. Konklusjon

I denne raske opplæringen har vi diskutert tre kjernekonsepter i Spring MVC - the Modell, den ModelMap og ModelAndView. Vi har også sett på eksempler på hvordan visningen kan bruke disse verdiene.

Som alltid kan implementeringen av alle disse eksemplene og kodebiter finnes på Github.


$config[zx-auto] not found$config[zx-overlay] not found