总结:The requested list key 'list' could not be resolved as a collection/array/map/enumeration/iterator t
Action:
List<GameType> typelist = sellGoodsService.findAllType();
ActionContext.getContext().getValueStack().set("list",typelist);
jsp:
<s:select name="" list="list" listKey="tid" listValue="typename" headerKey="" headerValue="--请选择--" />
这类错误,我根据网上查到的和自己出现的几种可能问题:
网上查找到的:
1、就是list="list" 中,“list”不能出现大写,类似这种“typeList”, 虽然我不太懂。
2、就是在Action中要给 list 设置getter 和setter 方法,这种我也不太懂,感觉没必要啊
3、typelist可能没在数据库中获取到,是空的。这个可以在Ation中设置,在控制台输出看看是否为空。
4、提交请求时并没有调用到对应的Action类,这种我也不太理解,因为当你出现这种问题时,说明你已经调用完Action,并且也成功返回到所要跳转的jsp上了。
我的问题 :
1、首先,你的“list”名称要在Action 和 jsp 中要相对应。自己粗心大意。
2、出现在我的struts2.xml中:
<action name="sellGoodsAction_fingAllType" class="sellGoodsAction" method="fingAllType">
<result name="findAll" type="redirect">/test1.jsp</result>
</action>
就是我设置了type="redirect"重定向,当我删掉时,就运行成功了。让我不明白的是,当我再重新添加type="redirect"进去时,也是可以运行成功的。