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.