public class ModelAndView
extends java.lang.Object
Represents a model and view returned by a handler, to be resolved by a DispatcherPortlet. The view can take the form of a String view name which will need to be resolved by a ViewResolver object; alternatively a view object can be specified directly. The model is a Map, allowing the use of multiple objects keyed by name.
DispatcherPortlet
,
ViewResolver
,
HandlerAdapter
,
Controller
Constructor and Description |
---|
ModelAndView()
Default constructor for bean-style usage: populating bean
properties instead of passing in constructor arguments.
|
ModelAndView(java.lang.Object view)
Convenient constructor when there is no model data to expose.
|
ModelAndView(java.lang.Object view,
java.util.Map<java.lang.String,?> model)
Create a new ModelAndView given a View object and a model.
|
ModelAndView(java.lang.Object view,
java.lang.String modelName,
java.lang.Object modelObject)
Convenient constructor to take a single model object.
|
ModelAndView(java.lang.String viewName)
Convenient constructor when there is no model data to expose.
|
ModelAndView(java.lang.String viewName,
java.util.Map<java.lang.String,?> model)
Create a new ModelAndView given a view name and a model.
|
ModelAndView(java.lang.String viewName,
java.lang.String modelName,
java.lang.Object modelObject)
Convenient constructor to take a single model object.
|
Modifier and Type | Method and Description |
---|---|
ModelAndView |
addAllObjects(java.util.Map<java.lang.String,?> modelMap)
Add all attributes contained in the provided Map to the model.
|
ModelAndView |
addObject(java.lang.Object attributeValue)
Add an attribute to the model using parameter name generation.
|
ModelAndView |
addObject(java.lang.String attributeName,
java.lang.Object attributeValue)
Add an attribute to the model.
|
void |
clear()
Clear the state of this ModelAndView object.
|
java.util.Map<java.lang.String,java.lang.Object> |
getModel()
Return the model map.
|
protected java.util.Map<java.lang.String,java.lang.Object> |
getModelInternal()
Return the model map.
|
ModelMap |
getModelMap()
Return the underlying
ModelMap instance (never null ). |
java.lang.Object |
getView()
Return the View object, or
null if we are using a view name
to be resolved by the DispatcherPortlet via a ViewResolver. |
java.lang.String |
getViewName()
Return the view name to be resolved by the DispatcherPortlet
via a ViewResolver, or
null if we are using a view object. |
boolean |
hasView()
Indicate whether or not this
ModelAndView has a view, either
as a view name or as a direct view instance. |
boolean |
isEmpty()
Return whether this ModelAndView object is empty,
i.e.
|
boolean |
isReference()
Return whether we use a view reference, i.e.
|
void |
setView(java.lang.Object view)
Set a View object for this ModelAndView.
|
void |
setViewName(java.lang.String viewName)
Set a view name for this ModelAndView, to be resolved by the
DispatcherPortlet via a ViewResolver.
|
java.lang.String |
toString()
Return diagnostic information about this model and view.
|
boolean |
wasCleared()
Return whether this ModelAndView object is empty as a result of a call to
clear()
i.e. |
public ModelAndView()
setView(Object)
,
setViewName(String)
public ModelAndView(java.lang.String viewName)
addObject
.viewName
- name of the View to render, to be resolved
by the DispatcherPortlet's ViewResolveraddObject(java.lang.String, java.lang.Object)
public ModelAndView(java.lang.Object view)
addObject
.view
- View object to render (usually a Servlet MVC View object)addObject(java.lang.String, java.lang.Object)
public ModelAndView(java.lang.String viewName, java.util.Map<java.lang.String,?> model)
viewName
- name of the View to render, to be resolved
by the DispatcherPortlet's ViewResolvermodel
- Map of model names (Strings) to model objects
(Objects). Model entries may not be null
, but the
model Map may be null
if there is no model data.public ModelAndView(java.lang.Object view, java.util.Map<java.lang.String,?> model)
view
- View object to render (usually a Servlet MVC View object)model
- Map of model names (Strings) to model objects
(Objects). Model entries may not be null
, but the
model Map may be null
if there is no model data.public ModelAndView(java.lang.String viewName, java.lang.String modelName, java.lang.Object modelObject)
viewName
- name of the View to render, to be resolved
by the DispatcherPortlet's ViewResolvermodelName
- name of the single entry in the modelmodelObject
- the single model objectpublic ModelAndView(java.lang.Object view, java.lang.String modelName, java.lang.Object modelObject)
view
- View object to render (usually a Servlet MVC View object)modelName
- name of the single entry in the modelmodelObject
- the single model objectpublic void setViewName(java.lang.String viewName)
public java.lang.String getViewName()
null
if we are using a view object.public void setView(java.lang.Object view)
The given View object will usually be a Servlet MVC View object. This is nevertheless typed as Object to avoid a Servlet API dependency in the Portlet ModelAndView class.
public java.lang.Object getView()
null
if we are using a view name
to be resolved by the DispatcherPortlet via a ViewResolver.public boolean hasView()
ModelAndView
has a view, either
as a view name or as a direct view instance.public boolean isReference()
true
if the view has been specified via a name to be resolved by the
DispatcherPortlet via a ViewResolver.protected java.util.Map<java.lang.String,java.lang.Object> getModelInternal()
null
.
Called by DispatcherPortlet for evaluation of the model.public ModelMap getModelMap()
ModelMap
instance (never null
).public java.util.Map<java.lang.String,java.lang.Object> getModel()
null
.
To be called by application code for modifying the model.public ModelAndView addObject(java.lang.String attributeName, java.lang.Object attributeValue)
attributeName
- name of the object to add to the modelattributeValue
- object to add to the model (never null
)ModelMap.addAttribute(String, Object)
,
getModelMap()
public ModelAndView addObject(java.lang.Object attributeValue)
attributeValue
- the object to add to the model (never null
)ModelMap.addAttribute(Object)
,
getModelMap()
public ModelAndView addAllObjects(java.util.Map<java.lang.String,?> modelMap)
modelMap
- a Map of attributeName -> attributeValue pairsModelMap.addAllAttributes(Map)
,
getModelMap()
public void clear()
Can be used to suppress rendering of a given ModelAndView object
in the postHandleRender
method of a HandlerInterceptor.
public boolean isEmpty()
public boolean wasCleared()
clear()
i.e. whether it does not hold any view and does not contain a model.
Returns false
if any additional state was added to the instance
after the call to clear()
.clear()
public java.lang.String toString()
toString
in class java.lang.Object