-
Notifications
You must be signed in to change notification settings - Fork 38.8k
Closed
Labels
in: coreIssues in core modules (aop, beans, core, context, expression)Issues in core modules (aop, beans, core, context, expression)type: enhancementA general enhancementA general enhancement
Milestone
Description
Keith Donald opened SPR-7285 and commented
@RooJavaBean
@RooToString
public class JavaBean {
private Integer number;
@DateTimeFormat(iso=ISO.DATE)
private Date date;
// list will autogrow as its dereferenced e.g. numbers[0]=foo
private List<Integer> numbers;
// map will autogrow as its deferenced e.g. fruits[1]=apple
private Map<Integer, String> fruits;
}
Binding to numbers works
Binding to fruits does not:
SpEl should also be tested
org.springframework.beans.NullValueInNestedPathException: Invalid property 'fruits' of bean class [org.springframework.samples.mvc.convert.JavaBean]: Could not instantiate property type [java.util.Map] to auto-grow nested property path: java.lang.InstantiationException: java.util.Map
org.springframework.beans.BeanWrapperImpl.newValue(BeanWrapperImpl.java:628)
org.springframework.beans.BeanWrapperImpl.createDefaultPropertyValue(BeanWrapperImpl.java:600)
org.springframework.beans.BeanWrapperImpl.setDefaultValue(BeanWrapperImpl.java:594)
org.springframework.beans.BeanWrapperImpl.getNestedBeanWrapper(BeanWrapperImpl.java:558)
org.springframework.beans.BeanWrapperImpl.getBeanWrapperForPropertyPath(BeanWrapperImpl.java:532)
org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:886)
org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:76)
org.springframework.validation.DataBinder.applyPropertyValues(DataBinder.java:673)
org.springframework.validation.DataBinder.doBind(DataBinder.java:569)
org.springframework.web.bind.WebDataBinder.doBind(WebDataBinder.java:190)
org.springframework.web.bind.ServletRequestDataBinder.bind(ServletRequestDataBinder.java:110)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker.doBind(AnnotationMethodHandlerAdapter.java:712)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doBind(HandlerMethodInvoker.java:804)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:358)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:170)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:421)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:409)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:774)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
{codE}
Affects: 3.0.2
Referenced from: commits 7f91153
1 votes, 4 watchers
Metadata
Metadata
Assignees
Labels
in: coreIssues in core modules (aop, beans, core, context, expression)Issues in core modules (aop, beans, core, context, expression)type: enhancementA general enhancementA general enhancement