这是第二种方法:
返回需要的结果集
public String indexInit(){
//获取所有的父级
List<Category> bases=categoryService.findByBaseId(0);
List<List<Category>> datas=new ArrayList<List<Category>>();
for (Category category : bases) {
List<Category> list=new ArrayList<Category>();
recursion(category.getId(),list);
datas.add(list);
}
Map<String,Object> map=(Map<String, Object>)ActionContext.getContext().get("request");
map.put("bases", bases);
map.put("datas", datas);
return SUCCESS;
}
递归的方法:
public void recursion(int id,List<Category> list){
List<Category> list2=categoryService.findByBaseId(id);
for (Category category : list2) {
list.add(category);
recursion(category.getId(),list);
}
}
传入id,然后把取到的结果,循环放入list,list需要从外部传入进来。
以上代码仅供参考,可以根据实际情况来做。