## org.springframework.web.servlet.mvc.method.annotation
Class ViewNameMethodReturnValueHandler

    java.lang.Object
      org.springframework.web.servlet.mvc.method.annotation.ViewNameMethodReturnValueHandler

All Implemented Interfaces:
  HandlerMethodReturnValueHandler

    public class ViewNameMethodReturnValueHandler

extends Object
implements HandlerMethodReturnValueHandler

Handles return values of types `void` and `String` interpreting them as view name reference.

A `null` return value, either due to a `void` return type or as the actual return value is left as-is allowing the configured `RequestToViewNameTranslator` to select a view name by convention.

A String return value can be interpreted in more than one ways depending on the presence of annotations like `@ModelAttribute` or `@ResponseBody`. Therefore this handler should be configured after the handlers that support these annotations.

Since:
  3.1
Author:
  Rossen Stoyanchev

Constructor Summary
`ViewNameMethodReturnValueHandler()`

Method Summary
`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.
`protected boolean` `isRedirectViewName(String viewName)` Whether the given view name is a redirect view reference.
`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

### ViewNameMethodReturnValueHandler

    public ViewNameMethodReturnValueHandler()

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

### isRedirectViewName

    protected boolean isRedirectViewName(String viewName)

  Whether the given view name is a redirect view reference.

  Parameters:
    `viewName` - the view name to check, never `null`
  Returns:
    "true" if the given view name is recognized as a redirect view reference; "false" otherwise.