2017-02-22 42 views
0

我們有映射到用SpringMVC:無法實例屬性類型[java.lang.Double中],以自動增長嵌套屬性路徑

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類沒有無參數構造函數,這就是爲什麼它失敗。非常驚訝這不是一個更廣泛已知或討論的問題。你如何綁定到像Double或Integer類不支持默認的無參數構造函數的列表?我們現在唯一的解決方案是綁定到List<String>(字符串支持無參數構造),然後複製到List<Double>,這很奇怪。

回答

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"