spring mvc 绑定地图

Muh*_*riq 1 java forms spring-mvc

我在 spring mvc 2 中有一个具有命令类“Class1”的表单

我想用这种形式的输入字段绑定 Class3 元素。下面是我的课。

我在 JSP 中迭代/绑定 Class2 元素而不是像这样的 map

<c:forEach var="item" items="${class1.class2List}" varStatus="itemsRow">  
    <form:input path="class2List[${itemsRow.index}].anyElement2" />
    ..........
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

我的课程看起来像

Class1
List<Class2> class2List;
String anyElement1;

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

Class3
Map<String, Class3> class3Map;
String nameToGet;
String anyElement3;
Run Code Online (Sandbox Code Playgroud)

我怎么能anyElement3在里面绑定class3Map。是否可以?

编辑第一个答案

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)
Run Code Online (Sandbox Code Playgroud)

ada*_*shr 5

假设你class2Map有一个带键的条目,比如mapkey,试试这个:

<form:input path="class2List[${itemsRow.index}].class2Map['mapkey'].anyElement3" />
Run Code Online (Sandbox Code Playgroud)