`
mr.lili
  • 浏览: 154323 次
  • 性别: 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());    
分享到:
评论

相关推荐

    struts2 jquery json ajax 三级联动菜单

    比如,当用户在第一级菜单中做出选择后,通过Ajax调用Struts2的Action,Action返回JSON格式的数据,这些数据随后被jQuery解析并用来填充第二级菜单。 JSON(JavaScript Object Notation)是一种轻量级的数据交换...

    java demo 三级菜单展示及维护,md5加密、拦截器实现

    总的来说,这个“java demo”项目涵盖了Web开发中的重要知识点:通过ZTree实现的三级菜单展示,MD5加密保证用户密码的安全,以及拦截器进行权限管理和控制。理解并掌握这些技术,对于提升Java Web开发的能力和构建更...

    全国省市县三级行政区域,JSON格式

    在本案例中,提供的“全国省市县三级行政区域”数据是用JSON格式编写的,主要用于前端开发中的四级联动选择功能。 四级联动是指在用户界面中,通过四个下拉菜单或选择器,让用户依次选择国家、省份、城市和区县,...

    动态生成菜单树

    这里,我们主要探讨的是如何使用JSP(JavaServer Pages)来实现这个功能,结合数据库查询获取的数据来动态构建菜单树。 首先,我们需要理解菜单树的基本概念。菜单树是一种数据结构,它模拟了现实中层次化的菜单,...

    Ztree+treeTable实现 Java实现 树形菜单 树形表格

    在Java开发中,构建用户界面时,树形菜单和树形表格是常见且重要的组件,它们可以帮助用户以层次结构的方式浏览和操作数据。本篇将详细介绍如何利用Ztree和treeTable来实现这样的功能。 Ztree是一款基于JavaScript...

    省市区三级联动Java版

    标题中的“省市区三级联动Java版”指的是在Java开发中实现的一种常见的用户界面交互功能,通常用于地址选择。这个功能允许用户在三个下拉菜单中分别选择省份、城市和区县,形成一个完整的地址。这样的设计可以有效地...

    layui三级动态菜单(SpringBoot)

    三级菜单指的是菜单系统中包含父级、子级以及孙子级的三层结构。在Web应用中,这通常表现为用户界面中的导航栏,用户可以逐级展开或折叠,以便于浏览和操作复杂的功能结构。动态则意味着菜单内容可以根据用户的权限...

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

    在我们的三级级联菜单中,服务器可能会返回一个包含各级菜单项的JSON数组,供前端JavaScript代码处理。 **JSP (JavaServer Pages)** 是Java平台上的动态网页技术,它可以将Java代码嵌入到HTML页面中,使得服务器端...

    动态省市三级级联动菜单

    在这个场景中,我们讨论的是一个基于JSP(JavaServer Pages)实现的三级联动菜单,它涉及到Ajax技术来实现实时的数据交互。 首先,我们来看JSP。JSP是Java的一种视图技术,用于创建动态网页。开发者可以在JSP页面中...

    jsp+ajax 三级联动菜单

    6. **继续联动**:同理,当用户选择二级菜单后,再次触发AJAX请求,获取并更新三级菜单。 这个过程中,数据库的设计也很关键。三级联动通常需要一个包含多层关系的表结构,比如一个菜单表,包括父菜单ID和子菜单ID...

    三级菜单后台系统ui框架模板

    综上所述,"三级菜单后台系统ui框架模板"是一个基于Java开发的后台管理界面解决方案,包含三级菜单结构,适用于需要高效开发和维护的企业级应用。它的设计考虑了用户体验、权限控制、响应式布局以及易用性等多个方面...

    AJAX三级联动菜单

    根据接收到的参数(用户在前端选择的菜单项),servlet查询数据库获取相应的二级或三级菜单数据,然后以JSON格式返回。 5. **JSON数据**:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人...

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

    在本项目中,"json实现三级联动下拉框---struts版(数据来自mysql数据库)"是利用JSON来处理省市县三级联动效果的示例,它通过Struts框架与MySQL数据库进行交互,动态地从数据库获取数据并更新到前端页面的下拉框中...

    ajax三级联动菜单

    3. **服务器端处理**:在Java端,编写处理这些请求的服务,根据传入的参数(如一级菜单ID)查询数据库,获取关联的二级或三级菜单项,然后以JSON格式返回结果。 4. **动态更新DOM**:收到服务器响应后,JavaScript...

    ajax+json实现多级联动菜单

    ### 使用Ajax+JSON实现多级联动菜单的知识点详解 #### 一、背景介绍与概念解析 随着互联网技术的发展,用户对交互式应用的需求日益增长。RIA(Rich Internet Applications)概念的提出更是加速了这一趋势。其中,...

    easyUI递归生成菜单树

    菜单树的数据通常以JSON格式表示,每个对象代表一个节点,包含`text`(节点文本)、`id`(唯一标识)、`children`(子节点数组)等属性。对于递归,数据结构需要支持无限层级的嵌套,即一个节点的`children`数组中...

    Java web与数据库交互实现三级联动.docx

    Java Web 与数据库交互实现三级联动 本文主要讲解如何使用 Java Web 技术和 Ajax 技术实现三级联动的数据库交互。三级联动是指在一个表单中,选择一个省份,然后根据选择的省份动态加载城市的选项,最后根据选择的...

    Ajax JavaWeb JS 三级联动

    这个功能主要用于创建交互性强的下拉菜单,通常用于地区选择、商品分类等场景,用户在选择一级菜单时,二级和三级菜单会相应地动态加载内容。 **Ajax(Asynchronous JavaScript and XML)** Ajax是一种在无需重新...

    全球国家,省份,城市 三级联动

    在IT领域,"三级联动"是一种常见的用户界面交互设计,主要应用于下拉选择框或级联菜单中。这种设计通常涉及到三个层次的数据关联,如在本例中的“全球国家,省份,城市”,用户在选择一个国家后,省份的选项会根据所...

    ajax,struts2,json实现省市区三级联动源码含全国省市区数据库

    “ajax,struts2,json实现省市区三级联动源码含全国省市区数据库”这一标题揭示了这个压缩包包含的是一项使用AJAX、Struts2和JSON技术来实现的省市区三级联动功能的源代码。这项技术常用于web应用中,允许用户在选择...

Global site tag (gtag.js) - Google Analytics