问题描述:
1、Action中实现了ModelDriven<UserBean>,
2、UserBean类中有属性 String village = "大黄村";
3、Action的execute()中的代码:
List<?> village = null;
request.setAttribute("village", village);
4、jsp页面中的代码:
List<?> village = (List<?>) request.getAttribute("village");
执行到jsp的这一句时报异常java.lang.ClassCastException: java.lang.String cannot be cast to java.util.List。
debug跟踪时看到request里面没有"village"元素, 但我打印request.getAttribute("village")的值发现是"大黄村", 怎么会变成UserBean中的village?
请问为什么会出现这种情况,要怎么解决。
------解决思路----------------------
一个 List,一个 String,不匹配呀
------解决思路----------------------
办法就是你别写两个village
------解决思路----------------------
execute方法中 request.setAttrubite("village")后,方法结束,struts2会往request中.setAttrubite 这个action属性的值,这样action中的属性village将覆盖了原来的execute中set进去的village,所以就那样