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, for example, 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionString[]The configured redirect patterns, if any.voidhandleReturnValue(Object returnValue, org.springframework.core.MethodParameter returnType, org.springframework.web.method.support.ModelAndViewContainer mavContainer, org.springframework.web.context.request.NativeWebRequest webRequest) protected booleanisRedirectViewName(String viewName) Whether the given view name is a redirect view reference.voidsetRedirectPatterns(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:".booleansupportsReturnType(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:
supportsReturnTypein 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:
handleReturnValuein 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.
-