• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    根據(jù)json文件生成動態(tài)菜單

    2018-5-31    seo達(dá)人

    如果您想訂閱本博客內(nèi)容,每天自動發(fā)到您的郵箱中, 請點(diǎn)這里

    [plain] view plain copy
    1. <span style="font-family:SimSun;font-size:16px;">admin.json</span>  
    [plain] view plain copy
    1. <span style="font-family:SimSun;font-size:16px;">[  
    2.     {  
    3.         "image": "glyphicon glyphicon-home",//菜單前的圖標(biāo)  
    4.         "name": "設(shè)備管理",  
    5.         "submenu": [  
    6.             {  
    7.                 "image": "glyphicon glyphicon-cloud",  
    8.                 "name": "設(shè)備分類",  
    9.                 "submenu": [  
    10.                     {  
    11.                         "image": "glyphicon glyphicon-off",  
    12.                         "name": "電源管理",  
    13.                         "url": "html/Node/creditCardPower.html"  
    14.                     },  
    15.                     {  
    16.                             "image": "glyphicon glyphicon-lock",  
    17.                         "name": "門禁管理",  
    18.                         "url": "html/Guard/guardList.html"  
    19.                     },  
    20.                     {  
    21.                         "image": "glyphicon glyphicon-folder-open",  
    22.                         "name": "物品管理",  
    23.                         "url": "html/goods/goodsList.html"  
    24.                     },  
    25.                     {  
    26.                         "image": "glyphicon glyphicon-facetime-video",  
    27.                         "name": "視頻管理",  
    28.                         "url": "html/monitor/monitorList.html"  
    29.                     }  
    30.                 ]  
    31.             }  
    32.         ]  
    33.     },  
    34.     {  
    35.         "image": "glyphicon glyphicon-cog",  
    36.         "name": "系統(tǒng)設(shè)置",  
    37.         "submenu": [  
    38.             {  
    39.                 "image": "glyphicon glyphicon-heart",  
    40.                 "name": "用戶管理",  
    41.                 "submenu": [  
    42.                     {  
    43.                         "image": "glyphicon glyphicon-align-justify",  
    44.                         "name": "用戶列表",  
    45.                         "url": "html/User/userList.html"  
    46.                     },  
    47.                     {  
    48.                         "image": "glyphicon glyphicon-random",  
    49.                         "name": "組織機(jī)構(gòu)",  
    50.                         "url": "html/dept/framework.html"  
    51.                     }  
    52.                 ]  
    53.             },  
    54.             {  
    55.                 "image": "glyphicon glyphicon-wrench",  
    56.                 "name": "設(shè)備管理",  
    57.                 "submenu": [  
    58.                     {  
    59.                         "image": "glyphicon glyphicon-edit",  
    60.                         "name": "設(shè)備參數(shù)",  
    61.                         "url": "html/Device/DeviceList.html"  
    62.                     },  
    63.                     {  
    64.                         "image": "glyphicon glyphicon-edit",  
    65.                         "name": "物品庫",  
    66.                         "url": "html/equgoods/equGoodsList.html"  
    67.                     }  
    68.                 ]  
    69.             }  
    70.         ]  
    71.     },  
    72.     {  
    73.         "image": "glyphicon glyphicon-list",  
    74.         "name": "日志管理",  
    75.         "submenu": [  
    76.             {  
    77.                 "image": "glyphicon glyphicon-list-alt",  
    78.                 "name": "登入日志",  
    79.                 "url": "html/Log/loginlog.html"  
    80.             },  
    81.             {  
    82.                 "image": "glyphicon glyphicon-tag",  
    83.                 "name": "設(shè)備日志",  
    84.                 "url": "html/Log/hardwarelog.html"  
    85.             }  
    86.         ]  
    87.     },  
    88.     {  
    89.         "image":"glyphicon glyphicon-list",  
    90.         "name":"設(shè)備管理",  
    91.         "submenu":[  
    92.             {  
    93.             "image":"glyphicon glyphicon-list-alt",  
    94.             "name":"設(shè)備管理",  
    95.             "url":"html/mechanism/mechanism.html"  
    96.             }  
    97.         ]  
    98.     }  
    99. ]</span>  

    2、讀取json文件的service層實(shí)現(xiàn)

    [java] view plain copy
    1. <span style="font-size:16px;">package com.dskj.service.impl;  
    2.   
    3. import java.io.File;  
    4. import java.util.Scanner;  
    5. import org.springframework.beans.factory.annotation.Value;  
    6. import org.springframework.core.io.Resource;  
    7. import org.springframework.stereotype.Service;  
    8.   
    9. import com.dskj.common.util.StringUtil;  
    10. import com.dskj.service.ReadJsonService;  
    11.   
    12. @Service  
    13. public class ReadJsonServiceImpl implements ReadJsonService{  
    14.     <span style="color:#ff0000;">@Value(value="classpath:json/admin.json")</span>  
    15.     private Resource dataAdmin;      
    16.     <span style="color:#ff0000;">@Value(value="classpath:json/user.json")</span>  
    17.     private Resource dataUser;    
    18.       
    19.     public String getData(String fileName){       
    20.         if(StringUtil.isEmpty(fileName)){  
    21.             throw new NullPointerException();  
    22.         }  
    23.           
    24.         String jsonData = null;  
    25.           
    26.         try {  
    27.             File file = null;     if(fileName.equals("admin.json")){  
    28.                 file = dataAdmin.getFile();  
    29.             }else{  
    30.                 file = dataUser.getFile();  
    31.             }  
    32.               
    33.             jsonData = this.jsonRead(file);  
    34.               
    35.         } catch (Exception e) {  
    36.            e.printStackTrace();  
    37.         }    
    38.         return jsonData;         
    39.     }  
    40.     /** 
    41.      * 讀取文件類容為字符串 
    42.      * @param file 
    43.      * @return 
    44.      */  
    45.       private String jsonRead(File file){  
    46.             Scanner scanner = null;  
    47.             StringBuilder buffer = new StringBuilder();  
    48.             try {  
    49.                 scanner = new Scanner(file, "utf-8");  
    50.                 while (scanner.hasNextLine()) {  
    51.                     buffer.append(scanner.nextLine());  
    52.                 }  
    53.             } catch (Exception e) {  
    54.                   
    55.             } finally {  
    56.                 if (scanner != null) {  
    57.                     scanner.close();  
    58.                 }  
    59.             }  
    60.             return buffer.toString();  
    61.         }  
    62. }</span>  

    3、controller對應(yīng)的代碼片段

    [java] view plain copy
    1. <span style="font-size:16px;">@RequestMapping("")  
    2.     public ModelAndView main() {  
    3.         ModelAndView model = null;  
    4.         String jsonFileName = null;  
    5.           
    6.         SysUser currentUser = (SysUser) ContextUtil.getSession().getAttribute("currentUser");  
    7.         if ("admin".equals(currentUser.getUsername())) {  
    8.             model = new ModelAndView("header1");  
    9.             jsonFileName = "<span style="color:#ff0000;">admin.json</span>";//根據(jù)文件名判斷讀取具體json文件  
    10.         } else {  
    11.             model = new ModelAndView("headerUser");  
    12.             jsonFileName = "<span style="color:#ff0000;">user.json</span>";</span>/<span style="font-size:16px;">/根據(jù)文件名判斷讀取具體json文件  
    13.   
    14.         }  
    15.           
    16.         String menue = <span style="color:#3333ff;">readJsonServiceImpl.getData</span>(jsonFileName);  
    17.           
    18.         model.addObject("menue", menue);  
    19.         return model;  
    20.   
    21.     }</span>  

    4、html頁面 將jsonarray轉(zhuǎn)換成js對象

    [javascript] view plain copy
    1. <span style="font-size:16px;">$(function() {  
    2.     var menue = JSON.parse('<span style="color:#ff0000;"><%=request.getAttribute("menue")%></span>');  
    3.     console.info(menue);  
    4.     createMenu(menue);//調(diào)用下邊的方法生成動態(tài)菜單</span>  

    5、對js對象遍歷 $.append動態(tài)添加到對應(yīng)頁面

    [javascript] view plain copy
    1. <span style="font-size:16px;">function createMenu(menue){  
    2.             /* 一級菜單 */  
    3.             $.each(menue,function(i,v){  
    4.                 var menu1 = '<li class="active"><a href="javaScript:;">';  
    5.                 /* menu1 += '<span class="glyphicon glyphicon-home"></span>'; */  
    6.                 menu1 += '<span class=' + '\'' + v.image + '\'' + '>' + '</span>';  
    7.                 menu1 += '<span style="margin-left: 10px;">' + v.name + '</span><span class="fa arrow"></span>';  
    8.                 menu1 += '</a>';  
    9.                 menu1 += '<ul class="nav nav-second-level nps collapse in">';  
    10.                   
    11.                  /* 二級菜單  */  
    12.                     $.each(v.submenu,function(j,vJ){                      
    13.                         var menu2 = '<li class="active">';  
    14.                         menu2 +=        '<a href="javaScript:;" class="">';  
    15.                         /* menu2 +=         '<span class="glyphicon glyphicon-cloud" style="margin-right: 10px;"></span>'; */  
    16.                         menu2 +=            '<span class=' + '\'' + vJ.image + '\'' + 'style=' + '\'' + 'margin-right: 10px;' + '\'' + '>' + '</span>';  
    17.                         menu2 +=             vJ.name + '<span class="fa arrow "></span>';  
    18.                         menu2 +=        '</a>';  
    19.                         menu2 +=                '<ul class="nav nav-third-level nps collapse in">';                             
    20.                               
    21.                         /* 三級菜單 */  
    22.                         if(vJ.submenu){  
    23.                             $.each(vJ.submenu,function(k,vk){  
    24.                                 var menu3 = '<li>';  
    25.                                 menu3 +=        '<a href="javascript:openUrl(\'' + vk.url + '\')">';  
    26.                                 /* menu3 +=             '<span style="margin-right: 10px;" class="glyphicon glyphicon-off">'; */  
    27.                                 menu3 +=            '<span stype=' + '\'' + 'margin-right: 10px;' + '\'' + 'class=' + '\'' + vk.image + '\'' + '';  
    28.                                 menu3 +=            '</span>'+vk.name;  
    29.                                 menu3 +=        '</a>';  
    30.                                 menu3 +=    '</li>';  
    31.                                   
    32.                                 menu2 += menu3;  
    33.                                       
    34.                             });  
    35.                         }else{  
    36.                             $.each(v.submenu,function(j,vJ){  
    37.                                 var menu4 = '<li>';  
    38.                                 menu4 +=        '<a href="javascript:openUrl(\'' + vJ.url + '\')">';  
    39.                                 /* menu3 +=             '<span style="margin-right: 10px;" class="glyphicon glyphicon-off">'; */  
    40.                                 menu4 +=            '<span stype=' + '\'' + 'margin-right: 10px;' + '\'' + 'class=' + '\'' + vJ.image + '\'' + '';  
    41.                                 menu4 +=            '</span>'+vJ.name;  
    42.                                 menu4 +=        '</a>';  
    43.                                 menu4 +=    '</li>';  
    44.                                       
    45.                                  menu2 = menu4;   
    46.                             });  
    47.                         }  
    48.                             menu1 += menu2;  
    49.                     });  
    50.                       
    51.                     $("#side-menu").append(menu1);  
    52.                 });  
    53.                   
    54.             }</span>  

    6、效果如下圖

    藍(lán)藍(lán)設(shè)計(jì)m.lzhte.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 平面設(shè)計(jì)服務(wù)

    日歷

    鏈接

    個(gè)人資料

    存檔

    主站蜘蛛池模板: 亚洲人成在线播放a偷伦| 久热青草| 国产性生交xxxxx免费| 国产一区二区三区| 国产日韩欧美911在线观看| 欧美男男GAYGAY巨大粗长肥| AV无码岛国免费动作片| 高清国产欧美一v精品| 精品自拍亚洲一区在线| 国产丝袜美腿视频网站| 久久久综合亚洲色一区二区三区 | 中文在线字幕亚洲精品| 欧美日韩一区在线观看| 福利姬操逼国产| 丝袜内裤一二区视频| 日韩国产欧美成人一区二区影院 | 五月六月丁香| 91福利视频一区二区| 国产午夜人做人免费视频| 日韩一级毛一欧美一国产| 蜜桃福利导航| 9966国产精品视频| 日韩AV无码免费大片BD| 石楼县| 亚洲乱亚洲乱妇中文影视| 国产乱理伦片在线观看| 国产精鲁鲁网在线视频| 大陆老熟女露脸对白视频| 3atv国产精品视频| 国产欧美乱码在线看| 精品国产福利第一区二区三区| 尹人香蕉久久99天天拍久女久| 无码伊人久久大蕉中文无码| 日本一本不卡| 国产成人一区二区三区在线| 东京热人妻一区二区三区| 日韩亚洲产在线观看| 91www久久综合| 国产SUV精品一区二区33| 精品亚洲一区二区99| 色综合久久中文综合网|