Class ModelAndViewMethodReturnValueHandler
java.lang.Object
org.springframework.web.servlet.mvc.method.annotation.ModelAndViewMethodReturnValueHandler
- All Implemented Interfaces:
org.springframework.web.method.support.HandlerMethodReturnValueHandler
public class ModelAndViewMethodReturnValueHandler
extends Object
implements org.springframework.web.method.support.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
true 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 -
Method Summary
Modifier and TypeMethodDescriptionString[]Return 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
-
ModelAndViewMethodReturnValueHandler
public ModelAndViewMethodReturnValueHandler()
-
-
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
Viewthat recognizes the prefix as well.- Since:
- 4.1
-
getRedirectPatterns
Return the configured redirect patterns, if any.- Since:
- 4.1
-
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.
-