1. 程式人生 > >easyui menu tree 實現左側選單樹

easyui menu tree 實現左側選單樹

@ResponseBody     @RequestMapping("menuTreeEasyUI")     public String menuTreeEasyUI(HttpServletRequest request,HttpServletResponse response) {         HttpSession session = request.getSession();         response.setContentType(contentType);         Integer    type = RequestHandler.getInteger(request, "systemType");         Map con = new HashMap();         con.put("adminID", session.getAttribute(SessionName.ADMIN_USER_ID));         con.put("systemType", type);         //獲得使用者許可權         List<Privilege> userPriList = privilegeService.getPriByUser(con);         List<TreeMenu> tmList = new ArrayList<TreeMenu>();//所有一級目錄集合         for(Privilege p : userPriList){             if(p.getParentID()==-1){//父ID是-1說明是一級目錄                 TreeMenu menu = new TreeMenu();                 menu.setId(p.getPrivilegeID()+"");                 menu.setState("open");                 menu.setText(p.getPrivilegeName());                 menu.setIconCls("icon-man");                 Map<String,String> attrMap = new HashMap<String, String>();                 attrMap.put("url",p.getActionURL());                 menu.setAttributes(attrMap);                 List<TreeMenu> childList =getChildren(p,userPriList);                 if(childList!=null&&childList.size()>0){//如果一級目錄子目錄不為空才展示出來                     menu.setChildren(childList);                     tmList.add(menu);                 }             }         }         String jsonStr =JSON.toJSONString(tmList);//以一級目錄為根,構建樹的json字串         return jsonStr;     }     /**      * 根據當前目錄,遞迴找到其所有子節點      * @param p      * @param userPriList      * @return      * @date 20160914      * @author zhouzhenwei      */     private List<TreeMenu> getChildren(Privilege p, List<Privilege> userPriList) {         if(p.getTreeType()==2){//type為2 代表葉子節點             return null;         }else{             List<TreeMenu> mList = new ArrayList<TreeMenu>();             for(Privilege cp : userPriList ){//在許可權集合中找到,當前許可權選單的子節點                 if((cp.getParentID()+1)==(p.getPrivilegeID()+1)){//如果某個選單的父ID為當前選單ID,那麼就把它作為當前選單的child                     //封裝選單物件                     TreeMenu tm = new TreeMenu();                     tm.setId(cp.getPrivilegeID()+"");                     tm.setState("open");                     tm.setText(cp.getPrivilegeName());                     tm.setIconCls("icon-lock");                     Map<String,String> attrMap = new HashMap<String, String>();                     attrMap.put("url",cp.getActionURL());                     tm.setAttributes(attrMap);                     tm.setChildren(getChildren(cp,userPriList));                     mList.add(tm);                 }             }             return mList;         }     }