ModelMap
subclases LinkedHashMap
, y proporciona algunas ventajas adicionales para que sea un poco más fácil de utilizar por los controladores
addAttribute
se puede llamar con sólo un valor, y la clave del mapa a continuación, se infiere a partir del tipo.
- Todos los métodos
addAttribute
devuelven el ModelMap
, por lo que puede unir el método de cadena, p. Ej. modelMap.addAttribute('x', x).addAttribute('y',y)
- Los
addAttribute
métodos comprueba que los valores no son nulos
- El tipo genérico de
ModelMap
se fija en Map<String, Object>
, que es el único que tiene sentido para un modelo de vista.
Por lo tanto, nada desgarrador, pero lo suficiente como para que sea un poco más agradable que un Map
crudo. Spring te permitirá usar cualquiera de los dos.
También puede utilizar la interfaz Model
, que proporciona nada más que los métodos addAttribute
, y se implementa mediante la clase ExtendedModelMap
, que a su vez agrega otras comodidades.
Muy buena descripción. Quiero saber la diferencia entre los métodos 'ModelMap.put' y' ModelMap.addAttribute'. Sé que el método put está disponible porque extiende el LinkedHashMap. ¿Hay alguna diferencia en el rendimiento para usar cualquiera de los métodos? Gracias por adelantado. –
Quiero señalar que esta respuesta muestra palabra por palabra en la publicación de otro sitio web con fecha de abril de 2016: http://crunchify.com/spring-mvc-how-to-access-modelmap-values-in -a-jsp / – ndurante