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 展开
这个是jsp页面代码
<struts:form action="GetXs" >
<struts:select name="xy" headerKey="-1" headerValue="请选择学院"
list="list" required="true"></struts:select>
</struts:form>
直接在浏览器中执行action是可以的,所以怀疑是jsp页面没有成功执行action 展开
2个回答
展开全部
出现这个错误的原因可能如下:
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 } }
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 } }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询