大家好! 请问这段代码有什么问题,谢谢 <logic:iterate id=”item” name=”shoppingForm” property=”productList” > </tr> action中有这一段: } root cause |
|
看不出来
|
|
按出错信息的意思是找不到集合~~~~~
|
|
5分 |
是不是因为ArrayList没有初始化?
|
5分 |
这个问题好解决
在你的代码中加这么一句就好了 request.setAttribute(“list”,ArrayList)bo.getProductList()) 但是我也不知道为什么 shoppingForm.setProductList((ArrayList)bo.getProductList()); 这样在页面没法显示 |
错误是说<logic:iterate id=”item” name=”shoppingForm” property=”productList” >里的集合没有找到.
“shoppingForm”是什么?从哪得到的? |
|
<logic:iterate id=”item” name=”shoppingForm” property=”productList” >
这个标签是遍历保存在四个范围内的对象的.name是保存的名字,如request.setAttribute(“aa”,”aa”),那么name就是”aa”,property是name对象的一个属性,在这里应该是个集合. |
|
5分 |
javabeginner2006() 正解!
可以在Action中 request.setAttribute(“productList”, shoppingForm.getProductList); JSP改成: <logic:iterate id=”item” name=”productList” scope=”request”> ··· <logic:iterate /> 试试。 |
productList是在跳转到这个JSP页面前的ACTION中对request.setAttribute(“productList”,productListobj);
productListobj这通过hibernate或自写的方法获得的一个product实体集合 |
|
5分 |
shoppingForm.setProductList((ArrayList)bo.getProductList());
后面加上 request.setAttribute(mapping.getAttribute(), shoppingForm); 不然你设置了List的Form是不会保存到request里面去的,白设了 |
在你的jsp页面中引入
<jsp:useBean id=”expertPicForm” class=”com.shinetech.expert.controller.ExpertPicForm” scope=”session”/> 要么就是把name=”shoppingForm” 去掉。试试! |
|
ok 解决了 谢谢各位!~
|