|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.web.servlet.mvc.method.annotation.ModelAndViewResolverMethodReturnValueHandler
public class ModelAndViewResolverMethodReturnValueHandler
This return value handler is intended to be ordered after all others as it
attempts to handle _any_ return value type (i.e. returns true
for
all return types).
The return value is handled either with a ModelAndViewResolver
or otherwise by regarding it as a model attribute if it is a non-simple
type. If neither of these succeeds (essentially simple type other than
String), UnsupportedOperationException
is raised.
Note: This class is primarily needed to support
ModelAndViewResolver
, which unfortunately cannot be properly
adapted to the HandlerMethodReturnValueHandler
contract since the
HandlerMethodReturnValueHandler.supportsReturnType(org.springframework.core.MethodParameter)
method
cannot be implemented. Hence ModelAndViewResolver
s are limited
to always being invoked at the end after all other return value
handlers have been given a chance. It is recommended to re-implement
a ModelAndViewResolver
as HandlerMethodReturnValueHandler
,
which also provides better access to the return type and method information.
Constructor Summary | |
---|---|
ModelAndViewResolverMethodReturnValueHandler(List<ModelAndViewResolver> mavResolvers)
Create a new instance. |
Method Summary | |
---|---|
void |
handleReturnValue(Object returnValue,
MethodParameter returnType,
ModelAndViewContainer mavContainer,
NativeWebRequest request)
Handle the given return value by adding attributes to the model and setting a view or setting the ModelAndViewContainer.setRequestHandled(boolean) flag to true
to indicate the response has been handled directly. |
boolean |
supportsReturnType(MethodParameter returnType)
Always returns true . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ModelAndViewResolverMethodReturnValueHandler(List<ModelAndViewResolver> mavResolvers)
Method Detail |
---|
public boolean supportsReturnType(MethodParameter returnType)
true
. See class-level note.
supportsReturnType
in interface HandlerMethodReturnValueHandler
returnType
- the method return type to check
true
if this handler supports the supplied return type;
false
otherwisepublic void handleReturnValue(Object returnValue, MethodParameter returnType, ModelAndViewContainer mavContainer, NativeWebRequest request) throws Exception
HandlerMethodReturnValueHandler
ModelAndViewContainer.setRequestHandled(boolean)
flag to true
to indicate the response has been handled directly.
handleReturnValue
in interface HandlerMethodReturnValueHandler
returnValue
- the value returned from the handler methodreturnType
- the type of the return value. This type must have
previously been passed to
HandlerMethodReturnValueHandler.supportsReturnType(org.springframework.core.MethodParameter)
and it must have returned true
mavContainer
- the ModelAndViewContainer for the current requestrequest
- the current request
Exception
- if the return value handling results in an error
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |