类 ModelAndView


  • public class ModelAndView
    extends Object
    Holder for both Model and View in the web MVC framework. Note that these are entirely distinct. This class merely holds both to make it possible for a controller to return both model and view in a single return value.

    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.

    从以下版本开始:
    2.0
    作者:
    Juergen Hoeller
    另请参阅:
    DispatcherPortlet, ViewResolver, HandlerAdapter, Controller
    • 构造器详细资料

      • ModelAndView

        public ModelAndView​(String viewName)
        Convenient constructor when there is no model data to expose. Can also be used in conjunction with addObject.
        参数:
        viewName - name of the View to render, to be resolved by the DispatcherPortlet's ViewResolver
        另请参阅:
        addObject(java.lang.String, java.lang.Object)
      • ModelAndView

        public ModelAndView​(String viewName,
                            Map<String,​?> model)
        Create a new ModelAndView given a view name and a model.
        参数:
        viewName - name of the View to render, to be resolved by the DispatcherPortlet's ViewResolver
        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.
      • ModelAndView

        public ModelAndView​(Object view,
                            Map<String,​?> model)
        Create a new ModelAndView given a View object and a 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.
      • ModelAndView

        public ModelAndView​(String viewName,
                            String modelName,
                            Object modelObject)
        Convenient constructor to take a single model object.
        参数:
        viewName - name of the View to render, to be resolved by the DispatcherPortlet's ViewResolver
        modelName - name of the single entry in the model
        modelObject - the single model object
      • ModelAndView

        public ModelAndView​(Object view,
                            String modelName,
                            Object modelObject)
        Convenient constructor to take a single model object.
        参数:
        view - View object to render (usually a Servlet MVC View object)
        modelName - name of the single entry in the model
        modelObject - the single model object
    • 方法详细资料

      • setViewName

        public void setViewName​(String viewName)
        Set a view name for this ModelAndView, to be resolved by the DispatcherPortlet via a ViewResolver. Will override any pre-existing view name or View.
      • getViewName

        public String getViewName()
        Return the view name to be resolved by the DispatcherPortlet via a ViewResolver, or null if we are using a view object.
      • setView

        public void setView​(Object view)
        Set a View object for this ModelAndView. Will override any pre-existing view name or 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.

      • getView

        public Object getView()
        Return the View object, or null if we are using a view name to be resolved by the DispatcherPortlet via a ViewResolver.
      • hasView

        public boolean hasView()
        Indicate whether or not this ModelAndView has a view, either as a view name or as a direct view instance.
      • isReference

        public boolean isReference()
        Return whether we use a view reference, i.e. true if the view has been specified via a name to be resolved by the DispatcherPortlet via a ViewResolver.
      • getModelInternal

        protected Map<String,​ObjectgetModelInternal()
        Return the model map. May return null. Called by DispatcherPortlet for evaluation of the model.
      • getModelMap

        public ModelMap getModelMap()
        Return the underlying ModelMap instance (never null).
      • getModel

        public Map<String,​ObjectgetModel()
        Return the model map. Never returns null. To be called by application code for modifying the model.
      • isEmpty

        public boolean isEmpty()
        Return whether this ModelAndView object is empty, i.e. whether it does not hold any view and does not contain a model.
      • wasCleared

        public boolean wasCleared()
        Return whether this ModelAndView object is empty as a result of a call to 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()