SPR-6909 Improve extension hooks in DefaultDataBinderFactory and subclasses.

This commit is contained in:
Rossen Stoyanchev
2011-06-24 12:04:16 +00:00
parent 2122cbcb1b
commit 8e240d814b
4 changed files with 113 additions and 88 deletions

View File

@@ -73,5 +73,32 @@ public class ServletRequestDataBinderFactoryTests {
assertEquals("nameValue", target.getName());
assertEquals(25, target.getAge());
}
@Test
public void requestParamsOverrideUriTemplateVars() throws Exception {
request.addParameter("age", "35");
Map<String, String> uriTemplateVars = new HashMap<String, String>();
uriTemplateVars.put("name", "nameValue");
uriTemplateVars.put("age", "25");
request.setAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE, uriTemplateVars);
TestBean target = new TestBean();
WebDataBinder binder = binderFactory.createBinder(webRequest, target, "");
((ServletRequestDataBinder) binder).bind(request);
assertEquals("nameValue", target.getName());
assertEquals(35, target.getAge());
}
@Test
public void noUriTemplateVars() throws Exception {
TestBean target = new TestBean();
WebDataBinder binder = binderFactory.createBinder(webRequest, target, "");
((ServletRequestDataBinder) binder).bind(request);
assertEquals(null, target.getName());
assertEquals(0, target.getAge());
}
}