如果您想訂閱本博客內(nèi)容,每天自動(dòng)發(fā)到您的郵箱中, 請(qǐng)點(diǎn)這里
    
    
        
        
            - 
                <span style="font-family:SimSun;font-size:16px;">admin.json</span>  
            
 
    
        
        
            - 
                <span style="font-family:SimSun;font-size:16px;">[  
            
- 
                    {  
            
- 
                        "image": "glyphicon glyphicon-home",//菜單前的圖標(biāo)  
            
- 
                        "name": "設(shè)備管理",  
            
- 
                        "submenu": [  
            
- 
                            {  
            
- 
                                "image": "glyphicon glyphicon-cloud",  
            
- 
                                "name": "設(shè)備分類",  
            
- 
                                "submenu": [  
            
- 
                                    {  
            
- 
                                        "image": "glyphicon glyphicon-off",  
            
- 
                                        "name": "電源管理",  
            
- 
                                        "url": "html/Node/creditCardPower.html"  
            
- 
                                    },  
            
- 
                                    {  
            
- 
                                            "image": "glyphicon glyphicon-lock",  
            
- 
                                        "name": "門禁管理",  
            
- 
                                        "url": "html/Guard/guardList.html"  
            
- 
                                    },  
            
- 
                                    {  
            
- 
                                        "image": "glyphicon glyphicon-folder-open",  
            
- 
                                        "name": "物品管理",  
            
- 
                                        "url": "html/goods/goodsList.html"  
            
- 
                                    },  
            
- 
                                    {  
            
- 
                                        "image": "glyphicon glyphicon-facetime-video",  
            
- 
                                        "name": "視頻管理",  
            
- 
                                        "url": "html/monitor/monitorList.html"  
            
- 
                                    }  
            
- 
                                ]  
            
- 
                            }  
            
- 
                        ]  
            
- 
                    },  
            
- 
                    {  
            
- 
                        "image": "glyphicon glyphicon-cog",  
            
- 
                        "name": "系統(tǒng)設(shè)置",  
            
- 
                        "submenu": [  
            
- 
                            {  
            
- 
                                "image": "glyphicon glyphicon-heart",  
            
- 
                                "name": "用戶管理",  
            
- 
                                "submenu": [  
            
- 
                                    {  
            
- 
                                        "image": "glyphicon glyphicon-align-justify",  
            
- 
                                        "name": "用戶列表",  
            
- 
                                        "url": "html/User/userList.html"  
            
- 
                                    },  
            
- 
                                    {  
            
- 
                                        "image": "glyphicon glyphicon-random",  
            
- 
                                        "name": "組織機(jī)構(gòu)",  
            
- 
                                        "url": "html/dept/framework.html"  
            
- 
                                    }  
            
- 
                                ]  
            
- 
                            },  
            
- 
                            {  
            
- 
                                "image": "glyphicon glyphicon-wrench",  
            
- 
                                "name": "設(shè)備管理",  
            
- 
                                "submenu": [  
            
- 
                                    {  
            
- 
                                        "image": "glyphicon glyphicon-edit",  
            
- 
                                        "name": "設(shè)備參數(shù)",  
            
- 
                                        "url": "html/Device/DeviceList.html"  
            
- 
                                    },  
            
- 
                                    {  
            
- 
                                        "image": "glyphicon glyphicon-edit",  
            
- 
                                        "name": "物品庫",  
            
- 
                                        "url": "html/equgoods/equGoodsList.html"  
            
- 
                                    }  
            
- 
                                ]  
            
- 
                            }  
            
- 
                        ]  
            
- 
                    },  
            
- 
                    {  
            
- 
                        "image": "glyphicon glyphicon-list",  
            
- 
                        "name": "日志管理",  
            
- 
                        "submenu": [  
            
- 
                            {  
            
- 
                                "image": "glyphicon glyphicon-list-alt",  
            
- 
                                "name": "登入日志",  
            
- 
                                "url": "html/Log/loginlog.html"  
            
- 
                            },  
            
- 
                            {  
            
- 
                                "image": "glyphicon glyphicon-tag",  
            
- 
                                "name": "設(shè)備日志",  
            
- 
                                "url": "html/Log/hardwarelog.html"  
            
- 
                            }  
            
- 
                        ]  
            
- 
                    },  
            
- 
                    {  
            
- 
                        "image":"glyphicon glyphicon-list",  
            
- 
                        "name":"設(shè)備管理",  
            
- 
                        "submenu":[  
            
- 
                            {  
            
- 
                            "image":"glyphicon glyphicon-list-alt",  
            
- 
                            "name":"設(shè)備管理",  
            
- 
                            "url":"html/mechanism/mechanism.html"  
            
- 
                            }  
            
- 
                        ]  
            
- 
                    }  
            
- 
                ]</span>  
            
 
    
        2、讀取json文件的service層實(shí)現(xiàn)
    
    
        
        
            - 
                <span style="font-size:16px;">package com.dskj.service.impl;  
            
- 
                  
            
- 
                import java.io.File;  
            
- 
                import java.util.Scanner;  
            
- 
                import org.springframework.beans.factory.annotation.Value;  
            
- 
                import org.springframework.core.io.Resource;  
            
- 
                import org.springframework.stereotype.Service;  
            
- 
                  
            
- 
                import com.dskj.common.util.StringUtil;  
            
- 
                import com.dskj.service.ReadJsonService;  
            
- 
                  
            
- 
                @Service  
            
- 
                public class ReadJsonServiceImpl implements ReadJsonService{  
            
- 
                    <span style="color:#ff0000;">@Value(value="classpath:json/admin.json")</span>  
            
- 
                    private Resource dataAdmin;      
            
- 
                    <span style="color:#ff0000;">@Value(value="classpath:json/user.json")</span>  
            
- 
                    private Resource dataUser;    
            
- 
                      
            
- 
                    public String getData(String fileName){       
            
- 
                        if(StringUtil.isEmpty(fileName)){  
            
- 
                            throw new NullPointerException();  
            
- 
                        }  
            
- 
                          
            
- 
                        String jsonData = null;  
            
- 
                          
            
- 
                        try {  
            
- 
                            File file = null;     if(fileName.equals("admin.json")){  
            
- 
                                file = dataAdmin.getFile();  
            
- 
                            }else{  
            
- 
                                file = dataUser.getFile();  
            
- 
                            }  
            
- 
                              
            
- 
                            jsonData = this.jsonRead(file);  
            
- 
                              
            
- 
                        } catch (Exception e) {  
            
- 
                           e.printStackTrace();  
            
- 
                        }    
            
- 
                        return jsonData;         
            
- 
                    }  
            
- 
                     
            
- 
                 
            
- 
                 
            
- 
                 
            
- 
                  
            
- 
                      private String jsonRead(File file){  
            
- 
                            Scanner scanner = null;  
            
- 
                            StringBuilder buffer = new StringBuilder();  
            
- 
                            try {  
            
- 
                                scanner = new Scanner(file, "utf-8");  
            
- 
                                while (scanner.hasNextLine()) {  
            
- 
                                    buffer.append(scanner.nextLine());  
            
- 
                                }  
            
- 
                            } catch (Exception e) {  
            
- 
                                  
            
- 
                            } finally {  
            
- 
                                if (scanner != null) {  
            
- 
                                    scanner.close();  
            
- 
                                }  
            
- 
                            }  
            
- 
                            return buffer.toString();  
            
- 
                        }  
            
- 
                }</span>  
            
 
    
        3、controller對(duì)應(yīng)的代碼片段
    
    
        
        
            - 
                <span style="font-size:16px;">@RequestMapping("")  
            
- 
                    public ModelAndView main() {  
            
- 
                        ModelAndView model = null;  
            
- 
                        String jsonFileName = null;  
            
- 
                          
            
- 
                        SysUser currentUser = (SysUser) ContextUtil.getSession().getAttribute("currentUser");  
            
- 
                        if ("admin".equals(currentUser.getUsername())) {  
            
- 
                            model = new ModelAndView("header1");  
            
- 
                            jsonFileName = "<span style="color:#ff0000;">admin.json</span>";  
            
- 
                        } else {  
            
- 
                            model = new ModelAndView("headerUser");  
            
- 
                            jsonFileName = "<span style="color:#ff0000;">user.json</span>";</span>/<span style="font-size:16px;">/根據(jù)文件名判斷讀取具體json文件  
            
- 
                  
            
- 
                        }  
            
- 
                          
            
- 
                        String menue = <span style="color:#3333ff;">readJsonServiceImpl.getData</span>(jsonFileName);  
            
- 
                          
            
- 
                        model.addObject("menue", menue);  
            
- 
                        return model;  
            
- 
                  
            
- 
                    }</span>  
            
 
    
        4、html頁面 將jsonarray轉(zhuǎn)換成js對(duì)象
    
    
        
        
            - 
                <span style="font-size:16px;">$(function() {  
            
- 
                    var menue = JSON.parse('<span style="color:#ff0000;"><%=request.getAttribute("menue")%></span>');  
            
- 
                    console.info(menue);  
            
- 
                    createMenu(menue);  
            
 
    
        5、對(duì)js對(duì)象遍歷 $.append動(dòng)態(tài)添加到對(duì)應(yīng)頁面
    
    
        
        
            - 
                <span style="font-size:16px;">function createMenu(menue){  
            
- 
                              
            
- 
                            $.each(menue,function(i,v){  
            
- 
                                var menu1 = '<li class="active"><a href="javaScript:;">';  
            
- 
                                  
            
- 
                                menu1 += '<span class=' + '\'' + v.image + '\'' + '>' + '</span>';  
            
- 
                                menu1 += '<span style="margin-left: 10px;">' + v.name + '</span><span class="fa arrow"></span>';  
            
- 
                                menu1 += '</a>';  
            
- 
                                menu1 += '<ul class="nav nav-second-level nps collapse in">';  
            
- 
                                  
            
- 
                                   
            
- 
                                    $.each(v.submenu,function(j,vJ){                      
            
- 
                                        var menu2 = '<li class="active">';  
            
- 
                                        menu2 +=        '<a href="javaScript:;" class="">';  
            
- 
                                          
            
- 
                                        menu2 +=            '<span class=' + '\'' + vJ.image + '\'' + 'style=' + '\'' + 'margin-right: 10px;' + '\'' + '>' + '</span>';  
            
- 
                                        menu2 +=             vJ.name + '<span class="fa arrow "></span>';  
            
- 
                                        menu2 +=        '</a>';  
            
- 
                                        menu2 +=                '<ul class="nav nav-third-level nps collapse in">';                             
            
- 
                                              
            
- 
                                          
            
- 
                                        if(vJ.submenu){  
            
- 
                                            $.each(vJ.submenu,function(k,vk){  
            
- 
                                                var menu3 = '<li>';  
            
- 
                                                menu3 +=        '<a href="javascript:openUrl(\'' + vk.url + '\')">';  
            
- 
                                                  
            
- 
                                                menu3 +=            '<span stype=' + '\'' + 'margin-right: 10px;' + '\'' + 'class=' + '\'' + vk.image + '\'' + '';  
            
- 
                                                menu3 +=            '</span>'+vk.name;  
            
- 
                                                menu3 +=        '</a>';  
            
- 
                                                menu3 +=    '</li>';  
            
- 
                                                  
            
- 
                                                menu2 += menu3;  
            
- 
                                                      
            
- 
                                            });  
            
- 
                                        }else{  
            
- 
                                            $.each(v.submenu,function(j,vJ){  
            
- 
                                                var menu4 = '<li>';  
            
- 
                                                menu4 +=        '<a href="javascript:openUrl(\'' + vJ.url + '\')">';  
            
- 
                                                  
            
- 
                                                menu4 +=            '<span stype=' + '\'' + 'margin-right: 10px;' + '\'' + 'class=' + '\'' + vJ.image + '\'' + '';  
            
- 
                                                menu4 +=            '</span>'+vJ.name;  
            
- 
                                                menu4 +=        '</a>';  
            
- 
                                                menu4 +=    '</li>';  
            
- 
                                                      
            
- 
                                                 menu2 = menu4;   
            
- 
                                            });  
            
- 
                                        }  
            
- 
                                            menu1 += menu2;  
            
- 
                                    });  
            
- 
                                      
            
- 
                                    $("#side-menu").append(menu1);  
            
- 
                                });  
            
- 
                                  
            
- 
                            }</span>  
            
 
    
        6、效果如下圖
    
    
         
    
藍(lán)藍(lán)設(shè)計(jì)( www.xy78.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國(guó)內(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ù)