日期:2014-05-19  浏览次数:20547 次

各位能否帮我解答一个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,所以就没有执行下面的操作。就这么简单