Package org.springframework.ui
Class ModelMap
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<String,
Object>
- Direct Known Subclasses:
ExtendedModelMap
,RedirectAttributesModelMap
Implementation of
Map
for use when building model data for use
with UI tools. Supports chained calls and generation of model attribute names.
This class serves as generic model holder for Servlet MVC but is not tied to it.
Check out the Model
interface for an interface variant.
- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,
V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object, V extends Object> -
Constructor Summary
ConstructorDescriptionModelMap()
Construct a new, emptyModelMap
.Construct a newModelMap
containing the supplied attribute.Construct a newModelMap
containing the supplied attribute under the supplied name. -
Method Summary
Modifier and TypeMethodDescriptionaddAllAttributes
(@Nullable Collection<?> attributeValues) Copy all attributes in the suppliedCollection
into thisMap
, using attribute name generation for each element.addAllAttributes
(@Nullable Map<String, ?> attributes) Copy all attributes in the suppliedMap
into thisMap
.addAttribute
(Object attributeValue) Add the supplied attribute to thisMap
using agenerated name
.addAttribute
(String attributeName, @Nullable Object attributeValue) Add the supplied attribute under the supplied name.boolean
containsAttribute
(String attributeName) Does this model contain an attribute of the given name?getAttribute
(String attributeName) Return the attribute value for the given name, if any.mergeAttributes
(@Nullable Map<String, ?> attributes) Copy all attributes in the suppliedMap
into thisMap
, with existing objects of the same name taking precedence (i.e.Methods inherited from class java.util.LinkedHashMap
clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, removeEldestEntry, replaceAll, values
Methods inherited from class java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
-
Constructor Details
-
ModelMap
public ModelMap()Construct a new, emptyModelMap
. -
ModelMap
Construct a newModelMap
containing the supplied attribute under the supplied name.- See Also:
-
ModelMap
Construct a newModelMap
containing the supplied attribute. Uses attribute name generation to generate the key for the supplied model object.- See Also:
-
-
Method Details
-
addAttribute
Add the supplied attribute under the supplied name.- Parameters:
attributeName
- the name of the model attribute (nevernull
)attributeValue
- the model attribute value (can benull
)
-
addAttribute
Add the supplied attribute to thisMap
using agenerated name
.Note: Empty
Collections
are not added to the model when using this method because we cannot correctly determine the true convention name. View code should check fornull
rather than for empty collections as is already done by JSTL tags.- Parameters:
attributeValue
- the model attribute value (nevernull
)
-
addAllAttributes
Copy all attributes in the suppliedCollection
into thisMap
, using attribute name generation for each element.- See Also:
-
addAllAttributes
Copy all attributes in the suppliedMap
into thisMap
.- See Also:
-
mergeAttributes
Copy all attributes in the suppliedMap
into thisMap
, with existing objects of the same name taking precedence (i.e. not getting replaced). -
containsAttribute
Does this model contain an attribute of the given name?- Parameters:
attributeName
- the name of the model attribute (nevernull
)- Returns:
- whether this model contains a corresponding attribute
-
getAttribute
Return the attribute value for the given name, if any.- Parameters:
attributeName
- the name of the model attribute (nevernull
)- Returns:
- the corresponding attribute value, or
null
if none - Since:
- 5.2
-