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
-
Method Summary
Modifier and TypeMethodDescriptionString[]
Return 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
-
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
View
that 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:
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.
-