framework-web:spring:controllers

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
framework-web:spring:controllers [2023/09/26 23:18] – [Appel d'une vue] jcheronframework-web:spring:controllers [2023/09/26 23:51] (Version actuelle) – [Redirections] jcheron
Ligne 82: Ligne 82:
 </sxh> </sxh>
  
-Il est également possible de charger une vue depuis une instance de **ModelAndView** :+=== Passage de variables à la vue === 
 + 
 +Il est possible d'injecter une instance de la classe **ModelMap** ou **Model** : 
 + 
 +<sxh java> 
 + @getMapping 
 + public String messageAction(ModelMap model) { 
 + model.put("message","Ceci est un message"); 
 + return "main/index"; 
 +
 +</sxh> 
 + 
 +Il est également possible de charger une vue et de lui passer des variables depuis une instance de **ModelAndView** :
  
 <sxh java> <sxh java>
Ligne 94: Ligne 106:
  
 voir [[https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-return-types|Return values]] voir [[https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html#mvc-ann-return-types|Return values]]
 +
 +==== Redirections ====
 +
 +Une action d'un contrôleur peut éventuellement rediriger vers une autre action, après avoir effectué ses propres traitements, avec éventuel passage de paramètres de type flash :
 +
 +<sxh java>
 + @RequestMapping
 + public RedirectView submitAction(@RequestParam String value, RedirectAttributes attrs) {
 + //Traitements
 + attrs.addFlashAttribute("message","Formulaire envoyé...");
 + return new RedirectView("/");
 + }
 +</sxh>
 +
 +La vue associée à la route **/** pourra accéder à la variable **message** et l'afficher.
 +
  
 ====== Ressources ====== ====== Ressources ======
   * [[http://www.baeldung.com/spring-requestmapping|RequestMapping annotation]]   * [[http://www.baeldung.com/spring-requestmapping|RequestMapping annotation]]
  • framework-web/spring/controllers.1695763112.txt.gz
  • Dernière modification : il y a 19 mois
  • de jcheron