当前位置:编程学习 > JAVA >>

JsonArray.fromObject()出错,提示session关闭

--------------------编程问答-------------------- 因为楼主用的是延迟加载所以不能关闭session,楼主可以 试下用易做图来实现延迟加载而不会因为关闭session报错。 --------------------编程问答--------------------
引用 1 楼 zhzwsjc1000 的回复:
因为楼主用的是延迟加载所以不能关闭session,楼主可以 试下用易做图来实现延迟加载而不会因为关闭session报错。

你说的方法我虽然没有使过,但是可以肯定的一点是,session 没有关闭,不会报错,但是还会是取出group里面的users的信息,因为我在调试的时候看出来,之所以会出现session关闭错误,应该是在JSONObject.fromObject(u,jsonConfig)这个方法的时候,他回去取group里面的users,而我的懒加载方式没有加载users,session又关闭了,自然就出错。现在我就是想怎么使用过滤,让这个方法执行的时候不去去group里面的users,但会取group 的name,这样就不会出错了。
也就是说,jsonConfig.setJsonPropertyFilter(new PropertyFilter() ,这个怎么写可以让他过滤掉group里面的users ? --------------------编程问答-------------------- 哎,这里是我自己易做图了,上面我的解题思路是对的,就是中间的一句代码写错了

jsonConfig.setJsonPropertyFilter(new PropertyFilter() {
    @Override
    public boolean apply(Object arg0, String arg1, Object arg2) {
        // TODO Auto-generated method stub
                //问题在此处,如何过滤group中的users集合,只是去到名字,不取里面的成员信息
        return (arg0 instanceof Group &&arg1.equals("users") && arg2==null);
    }
});

红色的部分用法出错了,不该使用&&,要使用||,改为

jsonConfig.setJsonPropertyFilter(new PropertyFilter() {
    @Override
    public boolean apply(Object arg0, String arg1, Object arg2) {
        // TODO Auto-generated method stub
                //问题在此处,如何过滤group中的users集合,只是去到名字,不取里面的成员信息
        return ((arg0 instanceof Group &&arg1.equals("users")) || arg2==null);
    }
});

问题就解决了,哎,自己真是S B啦。。。。 --------------------编程问答-------------------- 擦,java源代码里面的字不能改为红色????
补充:Java ,  Java EE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,