|
Spring Framework | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
org.springframework.web.method.annotation.RequestParamMethodArgumentResolver
public class RequestParamMethodArgumentResolver
Resolves method arguments annotated with @RequestParam, arguments of
type MultipartFile in conjunction with Spring's MultipartResolver
abstraction, and arguments of type javax.servlet.http.Part in conjunction
with Servlet 3.0 multipart requests. This resolver can also be created in default
resolution mode in which simple types (int, long, etc.) not annotated
with @RequestParam are also treated as request parameters with the
parameter name derived from the argument name.
If the method parameter type is Map, the name specified in the
annotation is used to resolve the request parameter String value. The value is
then converted to a Map via type conversion assuming a suitable
Converter or PropertyEditor has been registered.
Or if a request parameter name is not specified the
RequestParamMapMethodArgumentResolver is used instead to provide
access to all request parameters in the form of a map.
A WebDataBinder is invoked to apply type conversion to resolved request
header values that don't yet match the method parameter type.
RequestParamMapMethodArgumentResolver| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver |
|---|
AbstractNamedValueMethodArgumentResolver.NamedValueInfo |
| Constructor Summary | |
|---|---|
RequestParamMethodArgumentResolver(ConfigurableBeanFactory beanFactory,
boolean useDefaultResolution)
|
|
| Method Summary | |
|---|---|
protected AbstractNamedValueMethodArgumentResolver.NamedValueInfo |
createNamedValueInfo(MethodParameter parameter)
Create the AbstractNamedValueMethodArgumentResolver.NamedValueInfo object for the given method parameter. |
protected void |
handleMissingValue(java.lang.String paramName,
MethodParameter parameter)
Invoked when a named value is required, but AbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)
returned null and there is no default value. |
protected java.lang.Object |
resolveName(java.lang.String name,
MethodParameter parameter,
NativeWebRequest webRequest)
Resolves the given parameter type and value name into an argument value. |
boolean |
supportsParameter(MethodParameter parameter)
Supports the following: @RequestParam-annotated method arguments. |
| Methods inherited from class org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver |
|---|
handleResolvedValue, resolveArgument |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public RequestParamMethodArgumentResolver(ConfigurableBeanFactory beanFactory,
boolean useDefaultResolution)
beanFactory - a bean factory used for resolving ${...} placeholder
and #{...} SpEL expressions in default values, or null if default
values are not expected to contain expressionsuseDefaultResolution - in default resolution mode a method argument
that is a simple type, as defined in BeanUtils.isSimpleProperty(java.lang.Class>),
is treated as a request parameter even if it itsn't annotated, the
request parameter name is derived from the method parameter name.| Method Detail |
|---|
public boolean supportsParameter(MethodParameter parameter)
Map params where the annotation doesn't
specify a name. See RequestParamMapMethodArgumentResolver
instead for such params.
MultipartFile
unless annotated with @RequestPart.
javax.servlet.http.Part
unless annotated with @RequestPart.
RequestParam.
parameter - the method parameter to check
true if this resolver supports the supplied parameter;
false otherwiseprotected AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter)
AbstractNamedValueMethodArgumentResolverAbstractNamedValueMethodArgumentResolver.NamedValueInfo object for the given method parameter. Implementations typically
retrieve the method annotation by means of MethodParameter.getParameterAnnotation(Class).
createNamedValueInfo in class AbstractNamedValueMethodArgumentResolverparameter - the method parameter
protected java.lang.Object resolveName(java.lang.String name,
MethodParameter parameter,
NativeWebRequest webRequest)
throws java.lang.Exception
AbstractNamedValueMethodArgumentResolver
resolveName in class AbstractNamedValueMethodArgumentResolvername - the name of the value being resolvedparameter - the method parameter to resolve to an argument valuewebRequest - the current request
null
java.lang.Exception - in case of errors
protected void handleMissingValue(java.lang.String paramName,
MethodParameter parameter)
throws javax.servlet.ServletException
AbstractNamedValueMethodArgumentResolverAbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)
returned null and there is no default value. Subclasses typically throw an exception in this case.
handleMissingValue in class AbstractNamedValueMethodArgumentResolverparamName - the name for the valueparameter - the method parameter
javax.servlet.ServletException
|
Spring Framework | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||