`
mr.lili
  • 浏览: 150248 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类

java拼三级菜单树json

阅读更多
            t6 = Test6.class.newInstance();
            List<Menu> mList = t6.getMenu();
            Menu m = null;           
            List<Menu> m1 = new ArrayList<Menu>();
            List<Menu> m2 = new ArrayList<Menu>();
            List<Menu> m3 = new ArrayList<Menu>();
            for (int i = 0; i < mList.size(); i++)
            {
                m = mList.get(i);
                if("0".equals(m.getPid())){//表示第一级
                    m1.add(m);
                    mList.remove(i);
                    i--;
                }
                if(m.getPid().length() == 3){//表示二级
                    m2.add(m);
                    mList.remove(i);
                    i--;
                }
                if(m.getPid().length() == 5){//表示三级
                    m3.add(m);
                    mList.remove(i);
                    i--;
                }
            }
            System.out.println("/////////////////////////");
            //拼接菜单树的三级json
//            [{'id':901'name':学校1,'childNotes':[{'id':90101'name':学校1班级1,'childNotes':[{'id':9010101'name':学校1班级1组1},{'id':9010102'name':学校1班级1组2}]},
//                                               {'id':90102'name':学校1班级2,'childNotes':[]}]},
//             {'id':902'name':学校2,'childNotes':[{'id':90201'name':学校2班级1,'childNotes':[]},{'id':90202'name':学校2班级2,'childNotes':[]}]}]
            StringBuilder sb = new StringBuilder("[");
            Menu mt1 = null;
            Menu mt2 = null;
            Menu mt3 = null;
            for (int i = 0; i < m1.size(); i++)
            {
                mt1 = m1.get(i);
                sb.append("{");
                sb.append("'id':"+mt1.getMid());
                sb.append("'name':"+mt1.getmName());
                sb.append(",'childNotes':[");
                for (int j = 0; j < m2.size(); j++)
                {
                    mt2 = m2.get(j);
                    if(mt1.getMid().equals(mt2.getPid())){//如果二级的父id与一级id一样
                        sb.append("{");
                        sb.append("'id':"+mt2.getMid());
                        sb.append("'name':"+mt2.getmName());
                        sb.append(",'childNotes':[");
                        for (int j2 = 0; j2 < m3.size(); j2++)
                        {
                            mt3 = m3.get(j2);
                            if(mt2.getMid().equals(mt3.getPid())){
                                sb.append("{");
                                sb.append("'id':"+mt3.getMid());
                                sb.append("'name':"+mt3.getmName());
                                sb.append("},");
                            }
                        }
                        if(regexCheckStr(".*,",sb.toString())){
                            sb.replace(sb.length()-1, sb.length(), "");
                        }
                        sb.append("]");
                        sb.append("},");
                    }
                }
                if(regexCheckStr(".*,",sb.toString())){
                    sb.replace(sb.length()-1, sb.length(), "");
                }
                sb.append("]");
                sb.append("},");
            }
            //[{id:'',name:'',ch:[{id:name:ch:[{}]},{}]},
//          {id:'',name:'',ch:[]}]
            if(regexCheckStr(".*,",sb.toString())){//是否以,结束,是就将,替换为空
                sb.replace(sb.length()-1, sb.length(), "");
            }
            sb.append("]");
            System.out.println(sb.toString());    
分享到:
评论

相关推荐

    json实现三级联动下拉框---struts版(数据来自mysql数据库)

    json实现省市县三级联动下拉框,从数据库读取数据到页面显示!

    运用ajax+jsp+servlet实现三级级联菜单

    运用Ajax实现3级的级联菜单。ajax是浏览器中的js程序向服务器端发送异步请求,返回的数据为json类型。

    JAVA上百实例源码以及开源项目源代码

    Java右键弹出菜单源码 简单 Java圆形按钮实例代码,含注释 两个目标文件,自绘button。 Java圆形电子时钟源代码 1个目标文件 内容索引:JAVA源码,系统相关,电子钟  用JAVA编写的指针式圆形电子钟,效果图如下所示...

    JAVA上百实例源码以及开源项目

    Java右键弹出菜单源码 简单 Java圆形按钮实例代码,含注释 两个目标文件,自绘button。 Java圆形电子时钟源代码 1个目标文件 内容索引:JAVA源码,系统相关,电子钟  用JAVA编写的指针式圆形电子钟,效果图如下所示...

    java开源包4

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包11

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包6

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包101

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包9

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包5

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包8

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包10

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包3

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包1

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    JAVA后台转换成树结构数据返回给前端的实现方法

    主要介绍了JAVA后台转换成树结构数据返回给前端的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    java开源包2

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包7

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    Java资源包01

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    javaOA办公系统模块设计方案.pdf

    权限管理:点开⼆级菜单进⼊三级菜单显⽰ ⾓⾊(基础权限)和按钮权限 ⾓⾊(基础权限): 分⾓⾊组和⾓⾊,独⽴分配菜单权限和增删改查权限。(⼀个⽤户可以多个⾓⾊) 按钮权限: 给⾓⾊分配按钮权限。 2. 按钮管理:⾃...

Global site tag (gtag.js) - Google Analytics