Model, ModelMap a ModelAndView na jar MVC

1. Prehľad

V tomto článku sa pozrieme na použitie jadra org.springframework.ui.Model, org.springframework.ui.ModelMap a org.springframework.web.servlet.ModelAndView poskytuje Spring MVC.

2. Maven závislosti

Začnime s jarný kontext závislosť v našom pom.xml spis:

 org.springframework spring-context 5.2.2.RELEASE 

Najnovšiu verziu závislosti na jarnom kontexte nájdete tu.

Pre ModelAndView, jarný web je vyžadovaná závislosť:

 org.springframework spring-web 5.2.2.RELEASE 

Najnovšie verzie jarnej závislosti od webu nájdete tu.

A ak použijeme Thymeleaf ako náš názor, mali by sme túto závislosť pridať do pom.xml:

 org.thymeleaf thymeleaf-spring5 3.0.11.RELEASE 

Najnovšiu verziu závislosti od Thymeleaf nájdete tu.

3. Model

Začnime tu najzákladnejším konceptom - Model.

Jednoducho povedané, model môže dodávať atribúty používané na vykreslenie pohľadov.

Aby sme poskytli zobrazenie s použiteľnými údajmi, jednoducho k nim tieto údaje pridáme Model objekt. Ďalej je možné zlúčiť mapy s atribútmi Model prípady:

@GetMapping ("/ showViewPage") verejný reťazec passParametersWithModel (modelový model) {mapa mapy = nový HashMap (); map.put ("jar", "mvc"); model.addAttribute ("správa", "Baeldung"); model.mergeAttributes (mapa); vrátiť "viewPage"; }

4. ModelMap

Rovnako ako Model rozhranie vyššie, ModelMap sa tiež používa na odovzdávanie hodnôt na vykreslenie pohľadu.

Výhoda ModelMap je to, že nám dáva schopnosť odovzdať zbierku hodnôt a zaobchádzať s týmito hodnotami, akoby boli v rámci a Mapa:

@GetMapping ("/ printViewPage") public String passParametersWithModelMap (mapa ModelMap) {map.addAttribute ("welcomeMessage", "welcome"); map.addAttribute ("správa", "Baeldung"); vrátiť "viewPage"; }

5. ModelAndView

Posledným rozhraním na odovzdávanie hodnôt do zobrazenia je ModelAndView.

Toto rozhranie nám umožňuje odovzdať všetky informácie požadované serverom Spring MVC jedným návratom:

@GetMapping ("/ goToViewPage") public ModelAndView passParametersWithModelAndView () {ModelAndView modelAndView = nový ModelAndView ("viewPage"); modelAndView.addObject ("správa", "Baeldung"); návrat modelAndView; } 

6. Pohľad

Všetky dáta, ktoré umiestnime do týchto modelov, používa zobrazenie - vo všeobecnosti šablónovaný pohľad na vykreslenie webovej stránky.

Ak máme súbor šablón Thymeleaf zameraný metódami nášho kontrolóra ako ich pohľad. Parameter prechádzajúci modelom bude prístupný z HTML kódu v strede obrazovky:

   Názov webovej aplikácie. Predaný parameter: th: text = "$ {message}" 

Tu zadaný parameter sa používa prostredníctvom syntaxe $ {message}, ktorý je známy ako zástupný symbol. Modul šablón Thymeleaf nahradí tento zástupný symbol skutočnou hodnotou z atribútu s rovnakým názvom, ktorý prešiel cez model.

7. Záver

V tomto rýchlom výučbe sme v Spring MVC diskutovali o troch základných konceptoch - Model, ModelMap a ModelAndView. Pozreli sme sa tiež na príklady toho, ako môže pohľad tieto hodnoty využiť.

Implementáciu všetkých týchto príkladov a útržkov kódu nájdete ako vždy na serveri Github.


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