当前位置:   article > 正文

java 二级菜单实现_java二级菜单list

java二级菜单list

查询数据库所有菜单项

  1. @Override
  2. public List<IntraMenu> queryMenuListByUserCode(String userCode) {
  3. List<IntraMenu> menuList = new ArrayList<IntraMenu>();
  4. String sql = "select * from fpd.T_INTRA_MENU m where m.status=1 "
  5. + "and m.code in (select rm.menu_Code from fpd.T_INTRA_ROLE_MENU rm "
  6. + "where rm.role_code in (select ur.role_code from fpd.T_INTRA_USER_ROLE ur"
  7. + " where ur.USER_CODE= ? )) order by m.order_no desc";
  8. Object[] paramArr = new Object[]{userCode};
  9. List<Map<String, Object>> queryList = jdbcTemplate.queryForList(sql, paramArr);
  10. if (!CollectionUtils.isEmpty(queryList)) {
  11. for (Map<String, Object> map : queryList) {
  12. IntraMenu model = new IntraMenu();
  13. model.setId(((BigDecimal)map.get("ID")).longValue());
  14. model.setCode(map.get("CODE").toString());
  15. if(map.get("P_CODE")!=null){
  16. model.setpCode(map.get("P_CODE").toString());
  17. }
  18. model.setRankLevel(((BigDecimal)map.get("RANK_LEVEL")).intValue());
  19. model.setName(map.get("NAME").toString());
  20. if(map.get("URL")!=null){
  21. model.setURL(map.get("URL").toString());
  22. }
  23. model.setOrderNo(((BigDecimal)map.get("ORDER_NO")).intValue());
  24. menuList.add(model);
  25. }
  26. }
  27. return menuList;
  28. }

树形处理

  1.     @RequestMapping(value = "/main")
  2.       public ModelAndView loginSuccess(HttpServletRequest request, HttpServletResponse response) {
  3.           String loginName = request.getParameter("loginName");
  4.           ModelAndView mv = new ModelAndView("intra/login/main");
  5.           String name = FPDUtils.getUserCode();
  6.           mv.addObject("name", name);
  7.           List<IntraMenu> menuList = intraBaseQueryService.queryMenuListByUserCode(loginName);
  8.           List<IntraMenu> pMenuList = new ArrayList<IntraMenu>();
  9.           MultiMap multiMap = new MultiHashMap();
  10.           if(CollectionUtils.isNotEmpty(menuList)){
  11.               for(IntraMenu menu:menuList){
  12.                   if(menu.getRankLevel()==2){
  13.                       String menuCode="",menuName="";
  14.                       menuCode = menu.getpCode();//找父节点
  15.                       //根据父节点编码找相应的名称
  16.                       IntraMenu pMenu = intraBaseQueryService.queryByMenuCode(menuCode);
  17.                       if(pMenu!=null){
  18.                           menuName = pMenu.getName();
  19.                           multiMap.put(menuCode+"@"+menuName, menu);
  20.                       }else{
  21.                           logger.error("父节点编码:"+menuCode+"不存在");
  22.                       }
  23.                   }else{
  24.                       menu.setCode(menu.getCode()+"@"+menu.getName());
  25.                       pMenuList.add(menu);
  26.                   }
  27.               }
  28.           }
  29.           Set<String> keySet =  multiMap.keySet();
  30.           List<IntraTreeMenu> list = new ArrayList<IntraTreeMenu>();
  31.           
  32.           for(IntraMenu menu:pMenuList){
  33.               for(Iterator<String> iterator =keySet.iterator();iterator.hasNext();){
  34.                 String mapKey = iterator.next();
  35.                 if(menu.getCode().equals(mapKey)){
  36.                     IntraTreeMenu intraTreeMenu = new IntraTreeMenu();
  37.                     List<IntraMenu> children = (List<IntraMenu>) multiMap.get(mapKey);
  38.                     intraTreeMenu.setCode(mapKey.split("@")[0]);
  39.                        intraTreeMenu.setName(mapKey.split("@")[1]);
  40.                        intraTreeMenu.setChildren(children);
  41.                        list.add(intraTreeMenu);
  42.                    }
  43.           }
  44.           }
  45.           
  46.           mv.addObject("menuList", list);
  47.           return mv;
  48.       }

前端处理

  1. <div class="accordionContent">
  2. <ul class="tree treeFolder">
  3. <#if menuList?exists&&(menuList?size>0)>
  4. <#list menuList as menu>
  5. <li>
  6. <a href="javascript:void(0);">${menu.name}</a>
  7. <ul>
  8. <#list menu.children as menuChild>
  9. <li><a target="navTab" external="true" rel="${menuChild.code}" href="${menuChild.URL}">${menuChild.name}</a></li>
  10. </#list>
  11. </ul>
  12. </li>
  13. </#list>
  14. </#if>
  15. </ul>
  16. </div>

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/686001
推荐阅读
相关标签
  

闽ICP备14008679号