代码实现如下:
@Override
public ResultObj getMenu() throws Exception {
MenuDomain resultMenuDomain = new MenuDomain();
List<MenuDomain> allMenu = menuDao.getMenu();
//目录无限制
for (MenuDomain menuItem : allMenu) {
//第一层
if (menuItem.getPid() == 0) {
resultMenuDomain = menuItem;
resultMenuDomain.setList(this.getSonMenuList(menuItem.getId(),allMenu));
}
}
ResultObj resultObj = new ResultObj();
return resultObj;
}
private List<MenuDomain> getSonMenuList(Integer id ,List<MenuDomain> allMenu) {
List<MenuDomain> listvo = new ArrayList<>();
for (MenuDomain menuItem : allMenu) {
if (menuItem.getPid() == id) {//找到父级相同的下级
listvo.add(menuItem);
}
}
if(listvo.size() > 0){
for(MenuDomain vo:listvo){
vo.setList(getSonMenuList(vo.getId(),allMenu));
}
}
return listvo;
}