1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          java在網站制作實現多級菜單方法

          來源:互聯網轉載 時間:2024-09-30 17:07:49

          java實現多級菜單的方法
          網站開發的時候我們會對網站的欄目進行分類,一個欄目可以有多個子分類,一個子分類又可以有分裂
          1,查詢菜單樹:
          publicList<Map<String,Object>>queryCategoryInfo(){
          List<Map<String,Object>>allMenu=queryAllCategory();
          //根節點
          List<Map<String,Object>>rootMenu=newArrayList<Map<String,Object>>();
          for(Map<String,Object>nav:allMenu){
          StringparentId=String.valueOf(nav.get("parent_id"));
          if(parentId.equals("0")){//父節點是0的,為根節點。
          rootMenu.add(nav);
          }
          }
          /*根據Menu類的order排序*/
          //Collections.sort(rootMenu,order());
          //為根菜單設置子菜單,getClild是遞歸調用的
          for(Map<String,Object>nav:rootMenu){
          /*獲取根節點下的所有子節點使用getChild方法*/
          Stringid=String.valueOf(nav.get("category_id"));
          List<Map<String,Object>>childList=getChild(id,allMenu);
          //nav.setChildren(childList);//給根節點設置子節點
          nav.put("child",childList);
          }

          returnrootMenu;
          }


          /**
          *獲取子節點
          *@paramid父節點id
          *@paramallMenu所有菜單列表
          *@return每個根節點下,所有子菜單列表
          */
          privateList<Map<String,Object>>getChild(Stringid,List<Map<String,Object>>allMenu){
          //子菜單
          List<Map<String,Object>>childList=newArrayList<Map<String,Object>>();
          for(Map<String,Object>nav:allMenu){
          //遍歷所有節點,將所有菜單的父id與傳過來的根節點的id比較
          //相等說明:為該根節點的子節點。
          StringparentId=String.valueOf(nav.get("parent_id"));
          if(id.equals(parentId)){
          childList.add(nav);
          }
          }
          //遞歸
          for(Map<String,Object>nav:childList){
          StringtempId=String.valueOf(nav.get("category_id"));
          //nav.setChildren(,getChild(tempId,allMenu));
          nav.put("child",getChild(tempId,allMenu));
          }
          //Collections.sort(childList,order());//排序
          //如果節點下沒有子節點,返回一個空List(遞歸退出)
          if(childList.size()==0){
          returnnewArrayList<Map<String,Object>>();
          }
          returnchildList;
          }

          2,Java***之List多級菜單;
          packagecom.menu;
          importjava.util.List;
          publicclassTestCategory
          {
          publicstaticStringlevel="";
          publicstaticvoidmain(String[]args)
          {
          MenuManagermm=newMenuManager();
          mm.add(newMenu(0,-1,"主控管理系統"));
          mm.add(newMenu(100,0,"主控管理"));
          mm.add(newMenu(101,0,"公共信息"));
          mm.add(newMenu(102,0,"本單位管理"));
          mm.add(newMenu(103,0,"下屬管理"));
          mm.add(newMenu(104,0,"部門管理"));
          mm.add(newMenu(105,0,"職位管理"));
          mm.add(newMenu(10000,104,"部門類別"));
          mm.add(newMenu(10001,104,"部門信息"));
          List<Menu>menuList=mm.getMenuList();
          for(inti=0;i<menuList.size();i++)
          {
          Menumenu=menuList.get(i);
          if(menu.getPid()==-1)
          {
          System.out.println(menu.getName());
          showMenu(menu,menuList);
          break;
          }
          }
          }
          publicstaticvoidshowMenu(MenuparentMenu,List<Menu>menuList)
          {
          level+="----";
          for(inti=0;i<menuList.size();i++)
          {
          Menumenu=menuList.get(i);
          if(menu.getPid()==parentMenu.getId())
          {
          System.out.println(level+menu.getName());
          showMenu(menu,menuList);
          }
          }
          level=level.substring(0,level.length()-4);
          }
          }


          packagecom.menu;
          publicclassMenu
          {
          privateintid;
          privateintpid;
          privateStringname;
          publicMenu(intid,intpid,Stringname)
          {
          super();
          this.id=id;
          this.pid=pid;
          this.name=name;
          }
          publicintgetId()
          {
          returnid;
          }
          publicvoidsetId(intid)
          {
          this.id=id;
          }
          publicintgetPid()
          {
          returnpid;
          }
          publicvoidsetPid(intpid)
          {
          this.pid=pid;
          }
          publicStringgetName()
          {
          returnname;
          }
          publicvoidsetName(Stringname)
          {
          this.name=name;
          }

          }


          packagecom.menu;
          importjava.util.ArrayList;
          importjava.util.List;
          publicclassMenuManager
          {
          privateList<Menu>menuList=newArrayList<Menu>();
          publicvoidadd(Menumenu)
          {
          menuList.add(menu);
          }
          publicList<Menu>getMenuList()
          {
          returnmenuList;
          }
          publicvoidsetMenuList(List<Menu>menuList)
          {
          this.menuList=menuList;
          }

          }


          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          word數字間距很大怎么解決?字數間距很大,可按以下步驟解決第一步。打開word文檔,選擇間距大的數字,然后點擊字體右下角的小箭頭。第二步,在彈出的字體窗口中,選擇高級選項。第三步:將間距后的選項框改為標準,然后點擊確定,恢復數字的正常間距。word中表格與上面字距離太遠?1.因為上面的文字和表格差距太大,需要調整,也可能是其他原因。2.在選擇所有表格的狀態下,右鍵單擊左上角的按鈕,選擇表格屬性。...

          俄羅斯100盧布等于多少?俄羅斯貨幣盧布在的面值比較大。最近一個俄羅斯盧布約合0.1155。100盧比折合:1000.1155=11.55。俄羅斯100盧布等于多少?俄羅斯 100盧布等于7.89元??磳崟r匯率,俄羅斯盧布1對0.0789。知道了這個匯率,根據問題的要求,我們可以列出以下公式:100x0.0789 .計算結果是7.89。根據題目要求,我們有了答案。所以100俄羅斯盧布等于7.89元...

          趕集網賣的二手車市真的?您好,市場發布的二手車信息真實可靠,二手信息由真實用戶發布。市場上所有的二手車信息都是需要審批的,只有符合要求的二手車信息才能被審批。交易會發布的二手車信息全部屬實。太原哪有賣二手柴油農用三輪車的?你可以去太原當地的網站,如Jiji.com、People.com、胡巴同城等。你可能會發現二手柴油農用三輪車的銷售信息。太原市哪有比較好的二手車交易市場?陜西萬國二手車交易市場地...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>