// 根据父ID加载子节点 private void loadChildrenByPid(MenuItem item, Menu menu, String url, User u) { Map<String, String> param = new HashMap<String, String>(); if (u != null && u.getRid() != null) param.put("rid", u.getRid()); param.put("pid", menu.getPid()); // 加载菜单节点 List<Menu> data = menuService.selectList(param); if (data == null || data.size() == 0) { return; } if (item.getChildren() == null) item.setChildren(new ArrayList<MenuItem>()); // 创建菜单节点 for (int i = 0; i < data.size(); i++) { Menu entry = data.get(i); MenuItem addItem = new MenuItem(entry.getName(), null); addItem.setId(entry.getId()); addItem.setPid(entry.getPid()); addItem.setMenuType(entry); String url0 = null; if (url != null) { addItem.setUrl(url); url0 = url; } else { addItem.setUrl(entry.getUrl()); url0 = entry.getUrl(); } // // System.out.println("entry.getType()="+entry.getType()+",MenuType.button="+MenuType.button); if (entry.getType().equals("button")) { addUserResourceMenusButton(url0); } else { item.getChildren().add(addItem); } } // 根据菜单节点进行递归加载 for (int i = 0; i < item.getChildren().size(); i++) { MenuItem childItem = item.getChildren().get(i); if (!childItem.isButton()) { Menu itemMenu = new Menu(); itemMenu.setPid(childItem.getId()); // itemMenu.setMenuType(entry); loadChildrenByPid(childItem, itemMenu, url, u); } } }