各位能否帮我解答一个struts控制权限的问题(再调用set集合后权限自动转交)在线等,另高分送上!
情况是这样的:
我写了一段遍历代码,用来遍历set集合中的元素,可我断点调试了一下,在执行set集合时struts就把权限自动转交了,导致后面的代码根本就没有执行,我很不理解这是什么问题?
代码如下:
- Java code
public class UserInfoAction extends ActionSupport{ private UserInfoServiceDao service=new UserInfoServiceDaoImpl(); public String toSearchAll(){ HttpServletRequest request=ServletActionContext.getRequest(); List<UserInfo> users=this.service.sreachAll(); List<Commision> commisions=new ArrayList<Commision>(); //取出权限集合 for(UserInfo user:users){ Object[]objects=user.getCommisions().toArray();//问题出在这里,这个Commisions是一个set类型的泛型集合,一旦调用这一行代码,控制权自动被转交,下面的代码都没执行 for(int i=0;i<objects.length;i++){ commisions.add((Commision)objects[i]); } } request.setAttribute("users",users); request.setAttribute("commisions", commisions); return SUCCESS; } }
在线等,希望各位高手能给我一个解决办法啊!
[解决办法]
- Java code
user.getCommisions()
[解决办法]
Object[]objects=user.getCommisions().toArray();
问题原因很简单,你那一句得到的objects一定是null,所以就没有执行下面的操作。就这么简单