帮我看看 这个递归怎么了?

javagongcheng 2011-10-18 02:16:39
在一张机构表里 对于一个机构来说 有上级机构 下级机构 还有下下级机构 (多级机构)
现在用这个递归查找出一个机构的所有下级机构 以及下下级机构 (级别不定)

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

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

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


//查找下级机构的递归
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;
}



//这是调用那个递归最后返回到页面的方法
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));
}
}
...全文
106 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
oO临时工Oo 2011-10-19
  • 打赏
  • 举报
回复
代码很多
qq497525725 2011-10-19
  • 打赏
  • 举报
回复
结贴率 高啊 不错 。~
javagongcheng 2011-10-19
  • 打赏
  • 举报
回复
解决了 来个人 结帖了
javagongcheng 2011-10-18
  • 打赏
  • 举报
回复
人真多 ..

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧