|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.web.method.annotation.ModelAttributeMethodProcessor
org.springframework.web.servlet.mvc.method.annotation.ServletModelAttributeMethodProcessor
public class ServletModelAttributeMethodProcessor
A Servlet-specific 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.
| Field Summary |
|---|
| Fields inherited from class org.springframework.web.method.annotation.ModelAttributeMethodProcessor |
|---|
logger |
| Constructor Summary | |
|---|---|
ServletModelAttributeMethodProcessor(boolean annotationNotRequired)
|
|
| Method Summary | |
|---|---|
protected void |
bindRequestParameters(WebDataBinder binder,
NativeWebRequest request)
Extension point to bind the request to the target object. |
protected Object |
createAttribute(String attributeName,
MethodParameter parameter,
WebDataBinderFactory binderFactory,
NativeWebRequest request)
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 |
createAttributeFromRequestValue(String sourceValue,
String attributeName,
MethodParameter parameter,
WebDataBinderFactory binderFactory,
NativeWebRequest request)
Create a model attribute from a String request value (e.g. |
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. |
protected Map<String,String> |
getUriTemplateVariables(NativeWebRequest request)
|
| Methods inherited from class org.springframework.web.method.annotation.ModelAttributeMethodProcessor |
|---|
handleReturnValue, isBindExceptionRequired, resolveArgument, supportsParameter, supportsReturnType, validateIfApplicable |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ServletModelAttributeMethodProcessor(boolean annotationNotRequired)
annotationNotRequired - if "true", non-simple method arguments and
return values are considered model attributes with or without a
@ModelAttribute annotation.| Method Detail |
|---|
protected final Object createAttribute(String attributeName,
MethodParameter parameter,
WebDataBinderFactory binderFactory,
NativeWebRequest request)
throws Exception
createAttribute in class ModelAttributeMethodProcessorattributeName - the name of the attribute, never nullparameter - the method parameterbinderFactory - for creating WebDataBinder instancerequest - the current request
null
Exception#createAttributeFromUriValue
protected String getRequestValueForAttribute(String attributeName,
NativeWebRequest request)
The default implementation looks for the attribute name to match a URI variable first and then a request parameter.
attributeName - the model attribute namerequest - the current request
nullprotected final Map<String,String> getUriTemplateVariables(NativeWebRequest request)
protected Object createAttributeFromRequestValue(String sourceValue,
String attributeName,
MethodParameter parameter,
WebDataBinderFactory binderFactory,
NativeWebRequest request)
throws Exception
The default implementation converts only if there a registered
Converter that can perform the conversion.
sourceValue - the source value to create the model attribute fromattributeName - the name of the attribute, never nullparameter - the method parameterbinderFactory - for creating WebDataBinder instancerequest - the current request
null
Exception
protected void bindRequestParameters(WebDataBinder binder,
NativeWebRequest request)
Downcast WebDataBinder to ServletRequestDataBinder before binding.
bindRequestParameters in class ModelAttributeMethodProcessorbinder - the data binder instance to use for the bindingrequest - the current requestServletRequestDataBinderFactory
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||