ModelAttributeMethodProcessor that applies data
binding through a WebDataBinder of type ServletRequestDataBinder.
Also adds a fall-back strategy to instantiate the model attribute from a URI template variable or from a request parameter if the name matches the model attribute name and there is an appropriate type conversion strategy.
| Access | Constructor and Description |
|---|---|
| public | ServletModelAttributeMethodProcessor(boolean
if "true", non-simple method arguments and
return values are considered model attributes with or without a
annotationNotRequired)@ModelAttribute annotationClass constructor. |
| Modifier and Type | Method and Description |
|---|---|
| protected void | bindRequestParameters(WebDataBinder
the data binder instance to use for the binding binder, NativeWebRequest the current request request)Overrides org. Downcast to |
| protected void | constructAttribute(WebDataBinder
the data binder instance to use for the binding binder, NativeWebRequest the current request request)Overrides org. Downcast to |
| protected final Object | createAttribute(String
the name of the attribute (never attributeName, MethodParameter null)the method parameter declaration parameter, WebDataBinderFactory for creating WebDataBinder instance binderFactory, NativeWebRequest the current request request)Overrides org. Instantiate the model attribute from a URI template variable or from a request parameter if the name matches to the model attribute name and if there is an appropriate type conversion strategy. |
| protected Object | Returns: the created model attribute, ornull if no suitable
conversion foundthe source value to create the model attribute from sourceValue, String the name of the attribute (never attributeName, MethodParameter null)the method parameter parameter, WebDataBinderFactory for creating WebDataBinder instance binderFactory, NativeWebRequest the current request request)Create a model attribute from a String request value (e.g. URI template variable, request parameter) using type conversion. |
| protected String | Returns: the request value to try to convert, ornull if nonethe model attribute name attributeName, NativeWebRequest the current request request)Obtain a value from the request that may be used to instantiate the model attribute through type conversion from String to the target type. |
| protected final Map |
| ServletModelAttributeMethodProcessor | back to summary |
|---|---|
| public ServletModelAttributeMethodProcessor(boolean annotationNotRequired) Class constructor.
| |
| bindRequestParameters | back to summary |
|---|---|
| protected void bindRequestParameters(WebDataBinder binder, NativeWebRequest request) Overrides org. Downcast to
| |
| constructAttribute | back to summary |
|---|---|
| protected void constructAttribute(WebDataBinder binder, NativeWebRequest request) Overrides org. Downcast to
| |
| createAttributeFromRequestValue | back to summary |
|---|---|
| protected Object createAttributeFromRequestValue(String sourceValue, String attributeName, MethodParameter parameter, WebDataBinderFactory binderFactory, NativeWebRequest request) throws Exception Create a model attribute from a String request value (e.g. URI template variable, request parameter) using type conversion. The default implementation converts only if there is a registered
| |
| getRequestValueForAttribute | back to summary |
|---|---|
| protected String getRequestValueForAttribute(String attributeName, NativeWebRequest request) Obtain a value from the request that may be used to instantiate the model attribute through type conversion from String to the target type. The default implementation looks for the attribute name to match a URI variable first and then a request parameter.
| |
| getUriTemplateVariables | back to summary |
|---|---|
| protected final Map | |