Class ViewNameMethodReturnValueHandler
java.lang.Object
org.springframework.web.servlet.mvc.method.annotation.ViewNameMethodReturnValueHandler
- All Implemented Interfaces:
org.springframework.web.method.support.HandlerMethodReturnValueHandler
public class ViewNameMethodReturnValueHandler
extends Object
implements org.springframework.web.method.support.HandlerMethodReturnValueHandler
Handles return values of types
void
and String
interpreting them
as view name reference. As of 4.2, it also handles general CharSequence
types, e.g. StringBuilder
or Groovy's GString
, as view names.
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 way 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, Juergen Hoeller
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionString[]
The configured redirect patterns, if any.void
handleReturnValue
(Object returnValue, org.springframework.core.MethodParameter returnType, org.springframework.web.method.support.ModelAndViewContainer mavContainer, org.springframework.web.context.request.NativeWebRequest webRequest) protected boolean
isRedirectViewName
(String viewName) Whether the given view name is a redirect view reference.void
setRedirectPatterns
(String... redirectPatterns) Configure one more simple patterns (as described inPatternMatchUtils.simpleMatch(java.lang.String, java.lang.String)
) to use in order to recognize custom redirect prefixes in addition to "redirect:".boolean
supportsReturnType
(org.springframework.core.MethodParameter returnType)
-
Constructor Details
-
ViewNameMethodReturnValueHandler
public ViewNameMethodReturnValueHandler()
-
-
Method Details
-
setRedirectPatterns
Configure one more simple patterns (as described inPatternMatchUtils.simpleMatch(java.lang.String, java.lang.String)
) to use in order to recognize custom redirect prefixes in addition to "redirect:".Note that simply configuring this property will not make a custom redirect prefix work. There must be a custom View that recognizes the prefix as well.
- Since:
- 4.1
-
getRedirectPatterns
The configured redirect patterns, if any. -
supportsReturnType
public boolean supportsReturnType(org.springframework.core.MethodParameter returnType) - Specified by:
supportsReturnType
in interfaceorg.springframework.web.method.support.HandlerMethodReturnValueHandler
-
handleReturnValue
public void handleReturnValue(@Nullable Object returnValue, org.springframework.core.MethodParameter returnType, org.springframework.web.method.support.ModelAndViewContainer mavContainer, org.springframework.web.context.request.NativeWebRequest webRequest) throws Exception - Specified by:
handleReturnValue
in interfaceorg.springframework.web.method.support.HandlerMethodReturnValueHandler
- Throws:
Exception
-
isRedirectViewName
Whether the given view name is a redirect view reference. The default implementation checks the configured redirect patterns and also if the view name starts with the "redirect:" prefix.- Parameters:
viewName
- the view name to check, nevernull
- Returns:
- "true" if the given view name is recognized as a redirect view reference; "false" otherwise.
-