三级菜单

       我之前有一篇博客介绍的是使用双重for循环完成二级菜单,现在需要使用for循环完成三级菜单,如果还不太清楚二级菜单怎么获取的可以看我之前的博客http://blog.csdn.net/wangshan_1121/article/details/78407100

数据库的表如下图:


婚姻一级菜单,婚姻登记二级菜单,下面标注的是三级菜单,使用PARENT_ID关联,低保查询同理。

sql查询的是整张表的数据,我们在controller层获取到整个表的集合,再进行处理,controller的代码如下:

	public String yeardeathCount() {
		List<PageData> list = null;
		List<PageData> listparent=new ArrayList<>();
		PageData datas=new PageData();
		PageData pd = new PageData();
		pd = this.getPageData();
		try {
			list = datamanagerService.listMenu(pd);//查询到一级菜单和二级菜单的集合
			for(PageData pdata:list){
				if(Integer.valueOf(pdata.get("PARENT_ID").toString())==0){//先将一级菜单装到一个集合
					listparent.add(pdata);
				}
			}
			list.removeAll(listparent);//去除一级菜单只剩二级菜单
			for(int i=0;i<listparent.size();i++){//外层循环查一级菜单
					PageData data=new PageData();
					PageData parentdata=listparent.get(i);
					List<PageData> sons=new ArrayList<>();//用来装二级菜单的集合
					for(PageData pdata:list){
					//TODO  for循环将三级菜单的添加到一个集合中,将该集合添加到二级菜单的pagedata中
						List<PageData> grandsons=new ArrayList<>();//用来装三级菜单的集合
						for(PageData threedata:list){
							if(Integer.valueOf(pdata.get("MENU_ID").toString())==Integer.valueOf(threedata.get("PARENT_ID").toString())){
								grandsons.add(threedata);
							}else{
								continue;
							}
							pdata.put("list", grandsons);
						}
				    //将同属一级菜单的二级菜单装到一个集合中
					if(Integer.valueOf(parentdata.get("MENU_ID").toString())==Integer.valueOf(pdata.get("PARENT_ID").toString())){
						sons.add(pdata);
					}else{
						continue;
					}
				}//将一级菜单和二级菜单放到map中
					data.put("parentdata",parentdata);
					data.put("sons", sons);
					datas.put("data"+i, data);
			}
			return JSONUtil.JsonString(new JsonResult( 1, "成功!", datas));
		} catch (Exception e) {
			// TODO: handle exception
			logger.error("错误:" + e.toString(), e);
			return JSONUtil.toJsonString(new JsonResult(-1, "失败:服务器内部错误!", null));
		}
	}


注释写的很清楚了,相信能读懂的,其实这个datas可以使用list,看个人需求了,返回给前端的json如下,

"code":1,
    "message":"成功!",
    "rows":{
        "data9":{
            "sons":[

            ],
            "parentdata":{
                "MENU_TYPE":null,
                "MENU_URL":"address.html",
                "MENU_KEY":null,
                "MENU_ID":24,
                "MENU_STATE":null,
                "MENU_NAME":"地名地址",
                "MENU_ORDER":"5",
                "MENU_ICON":"menu-icon fa fa-university white",
                "PARENT_ID":0
            }
        },
        "data8":{
            "sons":[

            ],
            "parentdata":{
                "MENU_TYPE":null,
                "MENU_URL":"compartment.html",
                "MENU_KEY":null,
                "MENU_ID":23,
                "MENU_STATE":null,
                "MENU_NAME":"行政区划",
                "MENU_ORDER":"4",
                "MENU_ICON":"menu-icon fa fa-empire white",
                "PARENT_ID":0
            }
        },
        "data7":{
            "sons":[
                {
                    "MENU_TYPE":null,
                    "MENU_URL":"basicLive.html",
                    "MENU_KEY":null,
                    "MENU_ID":22,
                    "MENU_STATE":null,
                    "MENU_NAME":"低保查询",
                    "MENU_ORDER":"1",
                    "MENU_ICON":null,
                    "list":[
                        Object{...},
                        Object{...},
                        Object{...}
                    ],
                    "PARENT_ID":20
                }
            ],
            "parentdata":{
                "MENU_TYPE":null,
                "MENU_URL":"#",
                "MENU_KEY":null,
                "MENU_ID":20,
                "MENU_STATE":null,
                "MENU_NAME":"低保",
                "MENU_ORDER":"10",
                "MENU_ICON":"menu-icon fa fa-headphones white",
                "PARENT_ID":0
            }
        },
        "data6":{
            "sons":[
                {
                    "MENU_TYPE":null,
                    "MENU_URL":"funeral.html",
                    "MENU_KEY":null,
                    "MENU_ID":21,
                    "MENU_STATE":null,
                    "MENU_NAME":"殡葬管理",
                    "MENU_ORDER":"1",
                    "MENU_ICON":null,
                    "PARENT_ID":19
                }
            ],
            "parentdata":{
                "MENU_TYPE":null,
                "MENU_URL":"#",
                "MENU_KEY":null,
                "MENU_ID":19,
                "MENU_STATE":null,
                "MENU_NAME":"殡葬",
                "MENU_ORDER":"9",
                "MENU_ICON":"menu-icon fa fa-male white",
                "PARENT_ID":0
            }
        },
        "data5":{
            "sons":[
                {
                    "MENU_TYPE":null,
                    "MENU_URL":"socialWorker.html",
                    "MENU_KEY":null,
                    "MENU_ID":18,
                    "MENU_STATE":null,
                    "MENU_NAME":"工作者",
                    "MENU_ORDER":"1",
                    "MENU_ICON":"menu-icon fa fa-stumbleupon white",
                    "PARENT_ID":17
                }
            ],
            "parentdata":{
                "MENU_TYPE":null,
                "MENU_URL":"#",
                "MENU_KEY":null,
                "MENU_ID":17,
                "MENU_STATE":null,
                "MENU_NAME":"社会",
                "MENU_ORDER":"8",
                "MENU_ICON":"menu-icon fa fa-gg white",
                "PARENT_ID":0
            }
        },
        "data4":{
            "sons":[

            ],
            "parentdata":{
                "MENU_TYPE":null,
                "MENU_URL":"#",
                "MENU_KEY":null,
                "MENU_ID":15,
                "MENU_STATE":null,
                "MENU_NAME":"组织",
                "MENU_ORDER":"7",
                "MENU_ICON":"menu-icon fa fa-sitemap white",
                "PARENT_ID":0
            }
        },
        "data3":{
            "sons":[
                {
                    "MENU_TYPE":null,
                    "MENU_URL":"marriage.html",
                    "MENU_KEY":null,
                    "MENU_ID":16,
                    "MENU_STATE":null,
                    "MENU_NAME":"婚姻登记",
                    "MENU_ORDER":"2",
                    "MENU_ICON":"menu-icon fa fa-random white",
                    "list":[
                        {
                            "MENU_TYPE":null,
                            "MENU_URL":null,
                            "MENU_KEY":null,
                            "MENU_ID":25,
                            "MENU_STATE":null,
                            "MENU_NAME":"婚姻登记的三级菜单1",
                            "MENU_ORDER":"1",
                            "MENU_ICON":null,
                            "PARENT_ID":16
                        },
                        {
                            "MENU_TYPE":null,
                            "MENU_URL":null,
                            "MENU_KEY":null,
                            "MENU_ID":26,
                            "MENU_STATE":null,
                            "MENU_NAME":"婚姻登记的三级菜单2",
                            "MENU_ORDER":"2",
                            "MENU_ICON":null,
                            "PARENT_ID":16
                        },
                        {
                            "MENU_TYPE":null,
                            "MENU_URL":null,
                            "MENU_KEY":null,
                            "MENU_ID":27,
                            "MENU_STATE":null,
                            "MENU_NAME":"婚姻登记的三级菜单3",
                            "MENU_ORDER":"3",
                            "MENU_ICON":null,
                            "PARENT_ID":16
                        }
                    ],
                    "PARENT_ID":14
                }
            ],
            "parentdata":{
                "MENU_TYPE":null,
                "MENU_URL":"#",
                "MENU_KEY":null,
                "MENU_ID":14,
                "MENU_STATE":null,
                "MENU_NAME":"婚姻",
                "MENU_ORDER":"6",
                "MENU_ICON":"menu-icon fa fa-random white",
                "PARENT_ID":0
            }
        },
        "data2":{
            "sons":[

            ],
            "parentdata":{
                "MENU_TYPE":null,
                "MENU_URL":"#",
                "MENU_KEY":null,
                "MENU_ID":3,
                "MENU_STATE":null,
                "MENU_NAME":"法人",
                "MENU_ORDER":"3",
                "MENU_ICON":"menu-icon fa fa-users white",
                "PARENT_ID":0
            }
        },
        "data1":{
            "sons":[
                {
                    "MENU_TYPE":null,
                    "MENU_URL":"javascript:;",
                    "MENU_KEY":null,
                    "MENU_ID":7,
                    "MENU_STATE":null,
                    "MENU_NAME":"困难家庭",
                    "MENU_ORDER":"1",
                    "MENU_ICON":null,
                    "PARENT_ID":2
                }
            ],
            "parentdata":{
                "MENU_TYPE":null,
                "MENU_URL":"#",
                "MENU_KEY":null,
                "MENU_ID":2,
                "MENU_STATE":null,
                "MENU_NAME":"帮扶",
                "MENU_ORDER":"2",
                "MENU_ICON":"menu-icon fa fa-recycle white",
                "PARENT_ID":0
            }
        },
        "data0":{
            "sons":[
                {
                    "MENU_TYPE":null,
                    "MENU_URL":"populace.html",
                    "MENU_KEY":null,
                    "MENU_ID":6,
                    "MENU_STATE":null,
                    "MENU_NAME":"户籍信息",
                    "MENU_ORDER":"1",
                    "MENU_ICON":null,
                    "PARENT_ID":1
                }
            ],
            "parentdata":{
                "MENU_TYPE":null,
                "MENU_URL":"#",
                "MENU_KEY":null,
                "MENU_ID":1,
                "MENU_STATE":null,
                "MENU_NAME":"人口",
                "MENU_ORDER":"1",
                "MENU_ICON":"menu-icon fa fa-male white",
                "PARENT_ID":0
            }
        }
    }

}

达到了我想要的需求,希望能帮助到大家。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值