public class ViewNameMethodReturnValueHandler extends Object implements HandlerMethodReturnValueHandler
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.
Constructor and Description |
---|
ViewNameMethodReturnValueHandler() |
Modifier and Type | Method and Description |
---|---|
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.
|
public boolean supportsReturnType(MethodParameter returnType)
HandlerMethodReturnValueHandler
supportsReturnType
in interface HandlerMethodReturnValueHandler
returnType
- the method return type to checktrue
if this handler supports the supplied return type;
false
otherwisepublic void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception
HandlerMethodReturnValueHandler
ModelAndViewContainer.setRequestHandled(boolean)
flag to true
to indicate the response has been handled directly.handleReturnValue
in interface HandlerMethodReturnValueHandler
returnValue
- the value returned from the handler methodreturnType
- 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 requestwebRequest
- the current requestException
- if the return value handling results in an errorprotected boolean isRedirectViewName(String viewName)
viewName
- the view name to check, never null