我们有一个映射到
的输入字段MyObject
|--List<Double> tuition;
在绑定列表的JSP字段特定索引元素时,例如,
path="myobject.tuition[0]"
path="myobject.tuition[1]"
我们收到此错误:
Could not instantiate property type [java.lang.Double] to auto-grow nested property path: java.lang.InstantiationException: java.lang.Double
但我认为所有列表都可以在SpringMVC中自动增长?有人可以澄清吗?
UPDATE Java Double类没有no-arg构造函数,这就是它失败的原因。非常惊讶它不是一个更广为人知或讨论过的问题。如何绑定不支持默认无参数构造函数的Double或Integer等类的列表?我们现在唯一的解决方案是绑定到List<String>
(字符串支持无参数构造),然后复制到List<Double>
,这很奇怪。
答案 0 :(得分:0)
如果您可以稍微更改模型,可以将学费包装到Tuition
课程中:
public class Tuition {
private Double value;
/* getters, setters */
}
然后将MyObject
修改为:
public class MyObject {
/* ... */
private List<Tuition> tuitions;
/* ... */
}
对JSP的更改:
path="tuitions[0].value"
path="tuitions[1].value"