2012-03-30 49 views
0

我有在具有命令類「的Class1」彈簧MVC 2綁定地圖在彈簧MVC

我要綁定Class3的元件與在該形式的輸入字段的形式。以下是我的課程。

我循環/結合在JSP中的Class2元素比映射這樣

<c:forEach var="item" items="${class1.class2List}" varStatus="itemsRow"> 
    <form:input path="class2List[${itemsRow.index}].anyElement2" /> 
    .......... 
</c:forEach> 

我的課表其他看起來像

Class1 
List<Class2> class2List; 
String anyElement1; 

Class2 
Map<String, Class3> class2Map; 
String anyElement2; 

Class3 
Map<String, Class3> class3Map; 
String nameToGet; 
String anyElement3; 

我怎樣才能綁定anyElement3class3Map。可能嗎?

編輯的第一個答案

Caused by: org.springframework.beans.NullValueInNestedPathException: Invalid property 'class2List[0].class2Map[0]' of bean class [com.Class1]: Could not instantiate property type [com.Class3] to auto-grow nested property path: java.lang.InstantiationException: com.Class3 
    at org.springframework.beans.BeanWrapperImpl.newValue(BeanWrapperImpl.java:641) 
+0

如何在DAO中設置class2List並將其映射回對象?問,因爲我有一些問題 – devdar 2013-03-21 22:03:03

+1

我的DAO和class2List是不同的類。我從JSP填充class2List對象,然後使用這些值設置DAO對象的值。 – 2013-03-22 05:07:38

+0

您可能在您的DAO中使用了ResultSetExtractor,您可以爲我查看此問題併發布例如你如何使用ResultSetExtractor http://stackoverflow.com/questions/15555163/parameterizedrowmapper-that-maps-object-list-to-object – devdar 2013-03-22 10:52:16

回答

3

假設你的class2Map有鍵,比方說,mapkey的條目,試試這個:

<form:input path="class2List[${itemsRow.index}].class2Map['mapkey'].anyElement3" /> 
+0

是的。我嘗試過,但它拋出異常。 – 2012-04-02 10:59:06

+0

什麼例外?現在我一直在做這個,沒有任何問題。 – adarshr 2012-04-02 11:00:39

+0

@imrantariq我錯過了'anyElement3'部分。現在編輯我的答案。 – adarshr 2012-04-02 11:03:13

0

org.springframework.beans.NullValueInNestedPathException:無效的屬性'prsCDData [Forced] [0]'

就像上面的例外情況一樣,操作'prsCDData [強制] [0]'在任何對象? 。我認爲你的路徑價值是錯誤的。