项目中经常遇到页面中需要展示菜单树,如bootstrap的tree控件,要用到递归查询,其实对于jsp页面用到的树形目录,就是要让查询出来的数据按父子目录排序好,数据直接传给前台前台控件展示,下面,鄙人粗浅的来讲下递归查询:
不多说,直接上代码:
public class Test(){
public static List<?> list = new ArrayList<?>();
public static List<?> getTree(long id) throws BaseAppException{
List<?> list = new ArrayList<?>();
if(id == 0l){
list = 查出根节点list;
}else{
list = 查出非根节点list;
}
if(list !=null && list.size()!=0){
for(int i=0;i<list.size();i++){
list1.add(list.get(i));
getTree(list.get(i)); //递归
}
}
return list;
}
public static void main(String args[]){
Test.getTree(0);
List<Object> list = Test.list;
}
}
这样,查询出来的list就是按父子目录排序好的数据了,可以提供前台展示菜单了;