类 ModelAndViewMethodReturnValueHandler
- java.lang.Object
- org.springframework.web.servlet.mvc.method.annotation.ModelAndViewMethodReturnValueHandler
- 所有已实现的接口:
HandlerMethodReturnValueHandler
public class ModelAndViewMethodReturnValueHandler extends Object implements HandlerMethodReturnValueHandler
Handles return values of typeModelAndView
copying view and model information to theModelAndViewContainer
.If the return value is
null
, theModelAndViewContainer.setRequestHandled(boolean)
flag is set totrue
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.- 从以下版本开始:
- 3.1
- 作者:
- Rossen Stoyanchev
构造器概要
构造器 构造器 说明 ModelAndViewMethodReturnValueHandler()
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 String[]
getRedirectPatterns()
Return the configured redirect patterns, if any.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 theModelAndViewContainer.setRequestHandled(boolean)
flag totrue
to indicate the response has been handled directly.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(MethodParameter returnType)
Whether the given method return type is supported by this handler.
构造器详细资料
ModelAndViewMethodReturnValueHandler
public ModelAndViewMethodReturnValueHandler()
方法详细资料
setRedirectPatterns
public void setRedirectPatterns(@Nullable 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:".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.- 从以下版本开始:
- 4.1
getRedirectPatterns
@Nullable public String[] getRedirectPatterns()
Return the configured redirect patterns, if any.- 从以下版本开始:
- 4.1
supportsReturnType
public boolean supportsReturnType(MethodParameter returnType)
从接口复制的说明:HandlerMethodReturnValueHandler
Whether the given method return type is supported by this handler.- 指定者:
supportsReturnType
在接口中HandlerMethodReturnValueHandler
- 参数:
returnType
- the method return type to check- 返回:
true
if this handler supports the supplied return type;false
otherwise
handleReturnValue
public void handleReturnValue(@Nullable Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) throws Exception
从接口复制的说明:HandlerMethodReturnValueHandler
Handle the given return value by adding attributes to the model and setting a view or setting theModelAndViewContainer.setRequestHandled(boolean)
flag totrue
to indicate the response has been handled directly.- 指定者:
handleReturnValue
在接口中HandlerMethodReturnValueHandler
- 参数:
returnValue
- the value returned from the handler methodreturnType
- the type of the return value. This type must have previously been passed toHandlerMethodReturnValueHandler.supportsReturnType(org.springframework.core.MethodParameter)
which must have returnedtrue
.mavContainer
- the ModelAndViewContainer for the current requestwebRequest
- the current request- 抛出:
Exception
- if the return value handling results in an error
isRedirectViewName
protected boolean isRedirectViewName(String viewName)
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.- 参数:
viewName
- the view name to check, nevernull
- 返回:
- "true" if the given view name is recognized as a redirect view reference; "false" otherwise.