读书人

帮小弟我看看 这个递归如何了

发布时间: 2012-03-24 14:00:47 作者: rapoo

帮我看看 这个递归怎么了?
在一张机构表里 对于一个机构来说 有上级机构 下级机构 还有下下级机构 (多级机构)
现在用这个递归查找出一个机构的所有下级机构 以及下下级机构 (级别不定)

在网页中 这个递归第一次查找出来的是对的 等过一段时间来查 就会重复查找 再过一段时间来 又重复查找 但是数据都是有时候多了 有时候少了 就算是从新打开网页都没用 只有重新启动服务器 才能对 ..

我使用的框架是 ExtJS + EJB3.0 + Struts1.2

如果有答案的话 还有分的 ..

Java code
    //查找下级机构的递归    List<Sysjgxxb> jgxxList3 = new ArrayList<Sysjgxxb>();    public List<Sysjgxxb> findXjjg(List<Sysjgxxb> jgxxList) {        String jgxxSql = null;        List<Sysjgxxb> jgxxList1 = new ArrayList<Sysjgxxb>();        List<Sysjgxxb> jgxxList2 = new ArrayList<Sysjgxxb>();        try {            for (int jgxxi=0; jgxxi<jgxxList.size(); jgxxi++) {                //设置SQL语句                jgxxSql = "SELECT jgxx FROM Sysjgxxb jgxx WHERE jgxx.上级机构 = '" + jgxxList.get(jgxxi).机构码()                    + "' AND jgxx.机构码 != '" + jgxxList.get(jgxxi).机构码()                    + "'";                jgxxList1 = 按照SQL语句查询出符合条件的机构信息;                if (jgxxList1 != null && jgxxList.size() > 0) {                    for ( int jgxxj=0; jgxxj<jgxxList1.size(); jgxxj++) {                        jgxxList2.add(jgxxList1.get(jgxxj));                    }                    for ( int jgxxk=0; jgxxk<jgxxList2.size(); jgxxk++) {                        jgxxList3.add(jgxxList2.get(jgxxk));                    }                } else if (jgxxList1 == null && jgxxList2.isEmpty()) {                    continue;                }            }            if(jgxxList2 != null && jgxxList2.size() > 0) {                findXjjg(jgxxList2);            }        } catch (Exception e) {            e.printStackTrace();        }        if (jgxxList3 != null && jgxxList3.size() > 0) {            return jgxxList3;        }        return null;    }


Java code
    //这是调用那个递归最后返回到页面的方法    sysjgxxbList = 这是一个需要得到下机机构码的机构信息    List<Sysjgxxb> resultList = findXjjg(sysjgxxbList);    if(resultList != null && resultList.size() > 0) {        for ( int i=0; i<resultList.size(); i++) {            sysjgxxbList.add(resultList.get(i));        }    }


[解决办法]
结贴率 高啊 不错 。~
[解决办法]
代码很多

读书人网 >Java相关

热点推荐