2012-03-30 69 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]'在任何对象? 。我认为你的路径价值是错误的。