mvc multiple modelmap modelandview formulario form español ejemplo attribute spring spring-mvc

multiple - spring mvc español



¿Cuáles son las diferencias entre Model, ModelMap y ModelAndView? (3)

Model es una interfaz, mientras que ModelMap es una clase.

ModelAndView es solo un contenedor para un ModelMap y un objeto de vista. Permite que un controlador devuelva ambos como un solo valor.

¿Cuáles son las principales diferencias entre las siguientes clases de Spring Framework ?

  • Model
  • ModelMap
  • ModelAndView

Usando Model.put(String,Object) podemos acceder a los valores en archivos ModelMap.addAttribute(String,Object) , pero ModelMap.addAttribute(String,Object) también hizo lo mismo. No entiendo la diferencia entre estas clases.


Diferencias entre Model, ModelMap y ModelAndView

Modelo: es una interfaz. Define un titular para los atributos del modelo y diseñado principalmente para agregar atributos al modelo.

Ejemplo:

@RequestMapping(method = RequestMethod.GET) public String printHello(Model model) { model.addAttribute("message", "Hello World!!"); return "hello"; }

ModelMap: Implementación de Map para su uso al compilar datos de modelos para su uso con herramientas UI. Soporta llamadas encadenadas y generación de nombres de atributos de modelos.

Ejemplo:

@RequestMapping("/helloworld") public String hello(ModelMap map) { String helloWorldMessage = "Hello world!"; String welcomeMessage = "Welcome!"; map.addAttribute("helloMessage", helloWorldMessage); map.addAttribute("welcomeMessage", welcomeMessage); return "hello"; }

ModelAndView: esta clase simplemente contiene ambos para que un controlador pueda devolver el modelo y la vista en un único valor de retorno.

Ejemplo:

@RequestMapping("/welcome") public ModelAndView helloWorld() { String message = "Hello World!"; return new ModelAndView("welcome", "message", message); }


Modelo : es una interfaz que contiene cuatro métodos addAttribute y one merAttribute.

ModelMap : implementa la interfaz de Mapa. También contiene el método Map.

ModelAndView : como explicó Bart, permite que un controlador devuelva ambos como un único valor.