类 ModelAndView

java.lang.Object
cn.taketoday.web.view.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 ReturnValueHandler. 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.

从以下版本开始:
2018-12-02 19:54
作者:
Rod Johnson, Juergen Hoeller, Rob Harrop, Rossen Stoyanchev, TODAY
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    private boolean
    Indicates whether or not this instance has been cleared with a call to clear().
    private cn.taketoday.ui.ModelMap
    Model Map.
    Optional HTTP status for the response.
    private Object
    View instance or view name String.
  • 构造器概要

    构造器
    构造器
    说明
    Default constructor for bean-style usage: populating bean properties instead of passing in constructor arguments.
    Convenient constructor when there is no model data to expose.
    ModelAndView(View view, String modelName, Object modelObject)
    Convenient constructor to take a single model object.
    ModelAndView(View view, Map<String,?> model)
    Create a new ModelAndView given a View object and a model.
    ModelAndView(String viewName)
    Convenient constructor when there is no model data to expose.
    ModelAndView(String viewName, HttpStatusCode status)
    Create a new ModelAndView given a view name and HTTP status.
    ModelAndView(String viewName, String modelName, Object modelObject)
    Convenient constructor to take a single model object.
    ModelAndView(String viewName, Map<String,?> model)
    Create a new ModelAndView given a view name and a model.
    ModelAndView(String viewName, Map<String,?> model, HttpStatusCode status)
    Create a new ModelAndView given a view name, model, and HTTP status.
  • 方法概要

    修饰符和类型
    方法
    说明
    addAllObjects(Map<String,?> modelMap)
    Add all attributes contained in the provided Map to the model.
    addObject(Object attributeValue)
    Add an attribute to the model using parameter name generation.
    addObject(String attributeName, Object attributeValue)
    Add an attribute to the model.
    void
    Clear the state of this ModelAndView object.
    private String
     
    Return the model map.
    cn.taketoday.ui.ModelMap
    Return the underlying ModelMap instance (never null).
    Return the configured HTTP status for the response, if any.
    Return the View object, or null if we are using a view name to be resolved by the DispatcherServlet via a ViewResolver.
    Return the view name to be resolved by the DispatcherServlet via a ViewResolver, or null if we are using a View object.
    boolean
    Indicate whether or not this ModelAndView has a view, either as a view name or as a direct View instance.
    boolean
    Return whether this ModelAndView object is empty, i.e. whether it does not hold any view and does not contain a model.
    boolean
    Return whether we use a view reference, i.e.
    void
    Set the HTTP status to use for the response.
    void
    setView(View view)
    Set a View object for this ModelAndView.
    void
    setViewName(String viewName)
    Set a view name for this ModelAndView, to be resolved by the DispatcherServlet via a ViewResolver.
    Return diagnostic information about this model and view.
    boolean
    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.

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • 字段详细资料

    • view

      @Nullable private Object view
      View instance or view name String.
    • model

      @Nullable private cn.taketoday.ui.ModelMap model
      Model Map.
    • status

      @Nullable private HttpStatusCode status
      Optional HTTP status for the response.
    • cleared

      private boolean cleared
      Indicates whether or not this instance has been cleared with a call to clear().
  • 构造器详细资料

    • ModelAndView

      public ModelAndView()
      Default constructor for bean-style usage: populating bean properties instead of passing in constructor arguments.
      另请参阅:
    • 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 DispatcherServlet's ViewResolver
      另请参阅:
    • ModelAndView

      public ModelAndView(View view)
      Convenient constructor when there is no model data to expose. Can also be used in conjunction with addObject.
      参数:
      view - the View object to render
      另请参阅:
    • ModelAndView

      public ModelAndView(String viewName, @Nullable 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 DispatcherServlet's ViewResolver
      model - a 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(View view, @Nullable Map<String,?> model)
      Create a new ModelAndView given a View object and a model. Note: the supplied model data is copied into the internal storage of this class. You should not consider to modify the supplied Map after supplying it to this class
      参数:
      view - the View object to render
      model - a 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, HttpStatusCode status)
      Create a new ModelAndView given a view name and HTTP status.
      参数:
      viewName - name of the View to render, to be resolved by the DispatcherServlet's ViewResolver
      status - an HTTP status code to use for the response (to be set just prior to View rendering)
    • ModelAndView

      public ModelAndView(@Nullable String viewName, @Nullable Map<String,?> model, @Nullable HttpStatusCode status)
      Create a new ModelAndView given a view name, model, and HTTP status.
      参数:
      viewName - name of the View to render, to be resolved by the DispatcherServlet's ViewResolver
      model - a 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.
      status - an HTTP status code to use for the response (to be set just prior to View rendering)
    • 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 DispatcherServlet's ViewResolver
      modelName - name of the single entry in the model
      modelObject - the single model object
    • ModelAndView

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

    • setViewName

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

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

      public void setView(@Nullable View view)
      Set a View object for this ModelAndView. Will override any pre-existing view name or View.
    • getView

      @Nullable public View getView()
      Return the View object, or null if we are using a view name to be resolved by the DispatcherServlet 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 DispatcherServlet via a ViewResolver.
    • getModelMap

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

      public Map<String,Object> getModel()
      Return the model map. Never returns null. To be called by application code for modifying the model.
    • setStatus

      public void setStatus(@Nullable HttpStatusCode status)
      Set the HTTP status to use for the response.

      The response status is set just prior to View rendering.

    • getStatus

      @Nullable public HttpStatusCode getStatus()
      Return the configured HTTP status for the response, if any.
    • addObject

      public ModelAndView addObject(String attributeName, @Nullable Object attributeValue)
      Add an attribute to the model.
      参数:
      attributeName - name of the object to add to the model (never null)
      attributeValue - object to add to the model (can be null)
      另请参阅:
    • addObject

      public ModelAndView addObject(Object attributeValue)
      Add an attribute to the model using parameter name generation.
      参数:
      attributeValue - the object to add to the model (never null)
      另请参阅:
    • addAllObjects

      public ModelAndView addAllObjects(@Nullable Map<String,?> modelMap)
      Add all attributes contained in the provided Map to the model.
      参数:
      modelMap - a Map of attributeName → attributeValue pairs
      另请参阅:
    • clear

      public void clear()
      Clear the state of this ModelAndView object. The object will be empty afterwards.

      Can be used to suppress rendering of a given ModelAndView object in the postHandle method of a HandlerInterceptor.

      另请参阅:
    • 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().

      另请参阅:
    • toString

      public String toString()
      Return diagnostic information about this model and view.
      覆盖:
      toString 在类中 Object
    • formatView

      private String formatView()