mirror of
https://github.com/spring-projects/spring-framework.git
synced 2026-09-21 13:31:46 +00:00
consistent handling of handler methods, init binder methods and model attribute methods (SPR-7355)
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3730 50f2f4bb-b051-0410-bef5-90022cba6387
This commit is contained in:
+12
-2
@@ -89,10 +89,12 @@ public class HandlerMethodResolver {
|
||||
(bridgedMethod == specificMethod || !isHandlerMethod(bridgedMethod))) {
|
||||
handlerMethods.add(specificMethod);
|
||||
}
|
||||
else if (method.isAnnotationPresent(InitBinder.class)) {
|
||||
else if (isInitBinderMethod(specificMethod) &&
|
||||
(bridgedMethod == specificMethod || !isInitBinderMethod(bridgedMethod))) {
|
||||
initBinderMethods.add(specificMethod);
|
||||
}
|
||||
else if (method.isAnnotationPresent(ModelAttribute.class)) {
|
||||
else if (isModelAttributeMethod(specificMethod) &&
|
||||
(bridgedMethod == specificMethod || !isModelAttributeMethod(bridgedMethod))) {
|
||||
modelAttributeMethods.add(specificMethod);
|
||||
}
|
||||
}
|
||||
@@ -111,6 +113,14 @@ public class HandlerMethodResolver {
|
||||
return AnnotationUtils.findAnnotation(method, RequestMapping.class) != null;
|
||||
}
|
||||
|
||||
protected boolean isInitBinderMethod(Method method) {
|
||||
return AnnotationUtils.findAnnotation(method, InitBinder.class) != null;
|
||||
}
|
||||
|
||||
protected boolean isModelAttributeMethod(Method method) {
|
||||
return AnnotationUtils.findAnnotation(method, ModelAttribute.class) != null;
|
||||
}
|
||||
|
||||
|
||||
public final boolean hasHandlerMethods() {
|
||||
return !this.handlerMethods.isEmpty();
|
||||
|
||||
Reference in New Issue
Block a user