Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 包含列表的Spring绑定映射_Java_Spring_Binding - Fatal编程技术网

Java 包含列表的Spring绑定映射

Java 包含列表的Spring绑定映射,java,spring,binding,Java,Spring,Binding,我正在尝试用Spring Framework绑定Map,但遇到以下异常: ERROR [jsp:165] org.springframework.beans.NullValueInNestedPathException: Invalid property 'command.map[key][0]' of bean class troller.form.CommandForm]: Cannot access indexed value in property referenced in index

我正在尝试用Spring Framework绑定
Map
,但遇到以下异常:

ERROR [jsp:165] org.springframework.beans.NullValueInNestedPathException: Invalid property 'command.map[key][0]' of bean class
troller.form.CommandForm]: Cannot access indexed value in property referenced in indexed property path 'map[key][0]': returned null
命令对象如下所示:

public class Command {
   private Map<String, AutoPopulatingList<B>> map;
   //getters and setters for map
}
JSP代码如下所示

<c:forEach var="entry" items="${command.map}">
    <c:forEach var="b" items="${entry.value}">
         <form:hidden path="command.map[${entry.key}][${status.index}]" />
         <c:out value="${b.name}" />
    </c:forEach>
</c:forEach>

我想我还应该提到,地图是动态的,所以我不知道有多少条目,或者地图列表的大小。当我向地图添加新条目时,问题就出现了

我知道这与初始化地图中的列表有关,但这不是为什么建议使用AutoPopulationGlist的原因吗?这样就不会有任何与初始化相关的问题了


这可以与Spring框架绑定吗?

我只是通过在map对象中预填充map和数组来解决这个问题。 因此,要创建它,请使用

@ModelAttribute(FORM_PRECRUISE_SHOPPING) 
@Valid 
PrecruisePlannerShoppingForm form

你确定你可以用EL这样称呼地图吗?似乎您正在尝试访问矩阵字段。我只是猜测,也许您需要一些额外的括号:(command.map[${entry.key}])[${status.index}]?我很确定map可以像那样与EL一起使用。即使生成的HTML显示正确的输入元素,如果我从数据库填充映射,我可以向现有列表添加更多的B对象。假设我有一个内容为[key1[b1,b2,b3]]的映射,我想向它添加[key2[b3,b4]],然后我得到NullValueInestedPathException
@ModelAttribute(FORM_PRECRUISE_SHOPPING) 
@Valid 
PrecruisePlannerShoppingForm form