我在jsp中有一个属性,如下所示
<html:text property="sequenceNumbersMap[0]" styleId="sequenceNumbersMap[0]" value="0"/>
<html:text property="sequenceNumbersMap[1]" styleId="sequenceNumbersMap[1]" value="1"/>
<html:text property="sequenceNumbersMap[2]" styleId="sequenceNumbersMap[2]" value="2"/>
<html:text property="sequenceNumbersMap[3]" styleId="sequenceNumbersMap[3]" value="3"/>
并且
ActionForm
具有类似的属性地图sequenceNumbersMap;
和
getter/setter
public Map<Integer, Integer> getSequenceNumbersMap() {
return sequenceNumbersMap;
}
public void setSequenceNumbersMap(Map<Integer, Integer> sequenceNumbersMap) {
this.sequenceNumbersMap = sequenceNumbersMap;
}
但是当我尝试提交jsp时,出现以下异常:
java.lang.IllegalArgumentException: Property 'sequenceNumbersMap' is not indexed
有人可以帮我解决这个问题吗?
谢谢
最佳答案
映射没有顺序,因此sequenceNumbersMap[i]
并不代表任何意义。如果您打算将值映射到i
而不是在地图中获取第i
个项目(这又没有意义),则可以使用sequenceNumbersMap.get(i)
来实现。