org.springframework.web.servlet.mvc.method.annotation

## Class ModelAndViewMethodReturnValueHandler

- java.lang.Object
- - org.springframework.web.servlet.mvc.method.annotation.ModelAndViewMethodReturnValueHandler

All Implemented Interfaces:
  HandlerMethodReturnValueHandler

    public class ModelAndViewMethodReturnValueHandler
    extends Object
    implements HandlerMethodReturnValueHandler

Handles return values of type `ModelAndView` copying view and model information to the `ModelAndViewContainer`.

If the return value is `null`, the `ModelAndViewContainer.setRequestHandled(boolean)` flag is set to `false` to indicate the request was handled directly.

A `ModelAndView` return type has a set purpose. Therefore this handler should be configured ahead of handlers that support any return value type annotated with `@ModelAttribute` or `@ResponseBody` to ensure they don't take over.

Since:
  3.1
Author:
  Rossen Stoyanchev

### Constructor Summary

Constructors
Constructor and Description
`ModelAndViewMethodReturnValueHandler()`

### Method Summary

Methods
`void` `handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest)` Handle the given return value by adding attributes to the model and setting a view or setting the `ModelAndViewContainer.setRequestHandled(boolean)` flag to `true` to indicate the response has been handled directly.
`boolean` `supportsReturnType(MethodParameter returnType)` Whether the given method return type is supported by this handler.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ModelAndViewMethodReturnValueHandler

    public ModelAndViewMethodReturnValueHandler()

### Method Detail

#### supportsReturnType

    public boolean supportsReturnType(MethodParameter returnType)

Description copied from interface: `HandlerMethodReturnValueHandler`
Whether the given method return type is supported by this handler.

Specified by:
  `supportsReturnType` in interface `HandlerMethodReturnValueHandler`
Parameters:
  `returnType` - the method return type to check
Returns:
  `true` if this handler supports the supplied return type; `false` otherwise

#### handleReturnValue

    public void handleReturnValue(Object returnValue,
                         MethodParameter returnType,
                         ModelAndViewContainer mavContainer,
                         NativeWebRequest webRequest)
                           throws Exception

Description copied from interface: `HandlerMethodReturnValueHandler`
Handle the given return value by adding attributes to the model and setting a view or setting the `ModelAndViewContainer.setRequestHandled(boolean)` flag to `true` to indicate the response has been handled directly.

Specified by:
  `handleReturnValue` in interface `HandlerMethodReturnValueHandler`
Parameters:
  `returnValue` - the value returned from the handler method
  `returnType` - the type of the return value. This type must have previously been passed to `HandlerMethodReturnValueHandler.supportsReturnType(org.springframework.core.MethodParameter)` and it must have returned `true`
  `mavContainer` - the ModelAndViewContainer for the current request
  `webRequest` - the current request
Throws:
  `Exception` - if the return value handling results in an error