fixed @RequestParam(required=false) regression for @InitBinder methods (SPR-6878)

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3019 50f2f4bb-b051-0410-bef5-90022cba6387
This commit is contained in:
Juergen Hoeller 2010-02-20 16:14:14 +00:00
parent 9687dd4620
commit 94ff6e5fac
2 changed files with 9 additions and 5 deletions

View File

@ -1479,11 +1479,13 @@ public class ServletAnnotationControllerTests {
}
@InitBinder
public void initBinder(@RequestParam("param1") T p1, int param2) {
public void initBinder(@RequestParam("param1") String p1, @RequestParam(value="paramX", required=false) String px, int param2) {
assertNull(px);
}
@ModelAttribute
public void modelAttribute(@RequestParam("param1") T p1, int param2) {
public void modelAttribute(@RequestParam("param1") String p1, @RequestParam(value="paramX", required=false) String px, int param2) {
assertNull(px);
}
}
@ -1516,12 +1518,14 @@ public class ServletAnnotationControllerTests {
@Override
@InitBinder
public void initBinder(@RequestParam("param1") String p1, int param2) {
public void initBinder(@RequestParam("param1") String p1, @RequestParam(value="paramX", required=false) String px, int param2) {
assertNull(px);
}
@Override
@ModelAttribute
public void modelAttribute(@RequestParam("param1") String p1, int param2) {
public void modelAttribute(@RequestParam("param1") String p1, @RequestParam(value="paramX", required=false) String px, int param2) {
assertNull(px);
}
}

View File

@ -358,7 +358,7 @@ public class HandlerMethodInvoker {
RequestParam requestParam = (RequestParam) paramAnn;
paramName = requestParam.value();
paramRequired = requestParam.required();
paramDefaultValue = requestParam.defaultValue();
paramDefaultValue = parseDefaultValueAttribute(requestParam.defaultValue());
break;
}
else if (ModelAttribute.class.isInstance(paramAnn)) {