Struts2 的select,动态绑定数据库,在jsp页面中action不执行。。 5

进入jsp页面时报错Therequestedlistkey'list'couldnotberesolvedasacollection/array/map/enumerat... 进入jsp页面时报错 The requested list key 'list' could not be resolved as a collection/array/map/enumeration/iterator type.
这个是jsp页面代码
<struts:form action="GetXs" >
<struts:select name="xy" headerKey="-1" headerValue="请选择学院"
list="list" required="true"></struts:select>
</struts:form>
直接在浏览器中执行action是可以的,所以怀疑是jsp页面没有成功执行action
展开
 我来答
百度网友8a776f9
2012-08-17 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:142
采纳率:0%
帮助的人:107万
展开全部
出现这个错误的原因可能如下:

1 刚进入该界面的时候发生错误,原因是 list="roles"中的这个集合是空的,导致错误

解决办法很简单,不能让list为空

2 刚进入该界面的时候list是有数据的,当点击提交等按钮的时候,数据被提交到后台,如果配置了验证框架或者在action中写了validate方法,校验没有通过,未走action,直接返回了input,又指定回了当前界面。
此时的checkboxlist中的list丢失了,导致了如上错误(这个错误提示的不太友好,让人认为是类转换错误)

解决办法是把初始化list的工作放到prepare拦截器中,因为prepare是在validate拦截器之前执行,即实现prepareble接口:
public class RoleAction extends ActionSupport implements Preparable{ @Override public void prepare() throws Exception { //初始化list } }
百度网友e27de2f
2012-08-17 · TA获得超过952个赞
知道小有建树答主
回答量:643
采纳率:0%
帮助的人:530万
展开全部
转入这个jsp的action中定义和赋值了list吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式