我的操作包含属性,列表是列表:
List<ArrayList<Pair>> selectedId;
Class Pair有两个字段:first和second。
我尝试从jsp页面设置此属性的值:
<s:hidden value="567" name="selectedId[0][0].first"/>
但在表单提交后我收到错误:
ognl.NoSuchPropertyException:java.util.ArrayList.first
这是怎么做到的?
答案 0 :(得分:0)
我不确定OGNL为selectedId.get(0)中的元素分配name="selectedId[0][0].first"
.get(0)
尝试类似:
<s:iterator value="selectedId" status="stat">
<s:iterator>
<s:textfield value="%{#stat}"/>
</s:iterator>
</s:iterator>
使用Firebug或某些工具获取指定的字段名称。如果您指定的名称是正确的,则名为“first”的属性必定存在问题。
因为s:iterator
使用关键字“first”来检查当前元素是否是集合中的第一个元素。
你可以从这里看到它:
http://www.vaannila.com/struts-2/struts-2-example/struts-2-iterator-tag-example1.html
希望这有帮助。