87 votes

Qu'est-ce que Model dans ModelAndView de Spring MVC ?

Ayant cette fonction de base

protected ModelAndView handleRequestInternal(...) {
    ...
    return new ModelAndView("welcomePage", "WelcomeMessage", message);
}

Je sais que cela renverra modelandView. Je sais que welcomePage est mon nom de vue, ce qui signifie quelque chose comme welcomepage.jsp sera appelé.

Mais je ne sais pas ce qu'est la partie Modèle. Qu'est-ce que la partie WelcomeMessage y message et comment le modèle fonctionne dans ce scénario ?

1voto

premraj Points 120

ModelAndView : Le nom lui-même explique qu'il s'agit d'une structure de données qui contient les données du modèle et de la vue.

Map() model=new HashMap(); 
model.put("key.name", "key.value");
new ModelAndView("view.name", model);

// or as follows

ModelAndView mav = new ModelAndView();
mav.setViewName("view.name");
mav.addObject("key.name", "key.value");

si le modèle ne contient qu'une seule valeur, nous pouvons l'écrire comme suit :

ModelAndView("view.name","key.name", "key.value");

0voto

Sunil Points 51
@RequestMapping(value="/register",method=RequestMethod.POST)
   public ModelAndView postRegisterPage(HttpServletRequest request,HttpServletResponse response,
           @ModelAttribute("bean")RegisterModel bean)
   {
       RegisterService service = new RegisterService();
       boolean b = service.saveUser(bean);

       if(b)
       {
           return new ModelAndView("registerPage","errorMessage","Registered Successfully!");
       }
       else
       {
           return new ModelAndView("registerPage","errorMessage","ERROR!!");
       }
   }

/*  "registerPage" is the .jsp page -> which will viewed.
/* "errorMessage" is the variable that could be displayed in page using -> **${errorMessage}**
/* "Registered Successfully!" or "ERROR!!" is the message will be printed based on **if-else condition**

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X