深圳易捷网络科技注册咨询网-jiujiuya.com.cn 返回首页

java在网站制作实现多级菜单方法

信息来源:深圳市易捷网络科技有限公司
信息发布时间:2019-7-11 21:43:04
恩华消防(深圳)有限公司网站制作首页效果图
恩华消防(深圳)有限公司网站制作首页效果图

java实现多级菜单的方法
在网站开发的时候我们会对网站的栏目进行分类,一个栏目可以有多个子分类,一个子分类又可以有分裂
1,查询菜单树:
publicList<Map<String,Object>>queryCategoryInfo(){
List<Map<String,Object>>allMenu=queryAllCategory();
//根节点
List<Map<String,Object>>rootMenu=newArrayList<Map<String,Object>>();
for(Map<String,Object>nav:allMenu){
StringparentId=String.valueOf(nav.get("parent_id"));
if(parentId.equals("0")){//父节点是0的,为根节点。
rootMenu.add(nav);
}
}
/*根据Menu类的order排序*/
//Collections.sort(rootMenu,order());
//为根菜单设置子菜单,getClild是递归调用的
for(Map<String,Object>nav:rootMenu){
/*获取根节点下的所有子节点使用getChild方法*/
Stringid=String.valueOf(nav.get("category_id"));
List<Map<String,Object>>childList=getChild(id,allMenu);
//nav.setChildren(childList);//给根节点设置子节点
nav.put("child",childList);
}

returnrootMenu;
}


/**
*获取子节点
*@paramid父节点id
*@paramallMenu所有菜单列表
*@return每个根节点下,所有子菜单列表
*/
privateList<Map<String,Object>>getChild(Stringid,List<Map<String,Object>>allMenu){
//子菜单
List<Map<String,Object>>childList=newArrayList<Map<String,Object>>();
for(Map<String,Object>nav:allMenu){
//遍历所有节点,将所有菜单的父id与传过来的根节点的id比较
//相等说明:为该根节点的子节点。
StringparentId=String.valueOf(nav.get("parent_id"));
if(id.equals(parentId)){
childList.add(nav);
}
}
//递归
for(Map<String,Object>nav:childList){
StringtempId=String.valueOf(nav.get("category_id"));
//nav.setChildren(,getChild(tempId,allMenu));
nav.put("child",getChild(tempId,allMenu));
}
//Collections.sort(childList,order());//排序
//如果节点下没有子节点,返回一个空List(递归退出)
if(childList.size()==0){
returnnewArrayList<Map<String,Object>>();
}
returnchildList;
}

2,Java集合之List多级菜单;
packagecom.menu;
importjava.util.List;
publicclassTestCategory
{
publicstaticStringlevel="";
publicstaticvoidmain(String[]args)
{
MenuManagermm=newMenuManager();
mm.add(newMenu(0,-1,"主控管理系统"));
mm.add(newMenu(100,0,"主控管理"));
mm.add(newMenu(101,0,"公共信息"));
mm.add(newMenu(102,0,"本单位管理"));
mm.add(newMenu(103,0,"下属管理"));
mm.add(newMenu(104,0,"部门管理"));
mm.add(newMenu(105,0,"职位管理"));
mm.add(newMenu(10000,104,"部门类别"));
mm.add(newMenu(10001,104,"部门信息"));
List<Menu>menuList=mm.getMenuList();
for(inti=0;i<menuList.size();i++)
{
Menumenu=menuList.get(i);
if(menu.getPid()==-1)
{
System.out.println(menu.getName());
showMenu(menu,menuList);
break;
}
}
}
publicstaticvoidshowMenu(MenuparentMenu,List<Menu>menuList)
{
level+="----";
for(inti=0;i<menuList.size();i++)
{
Menumenu=menuList.get(i);
if(menu.getPid()==parentMenu.getId())
{
System.out.println(level+menu.getName());
showMenu(menu,menuList);
}
}
level=level.substring(0,level.length()-4);
}
}


packagecom.menu;
publicclassMenu
{
privateintid;
privateintpid;
privateStringname;
publicMenu(intid,intpid,Stringname)
{
super();
this.id=id;
this.pid=pid;
this.name=name;
}
publicintgetId()
{
returnid;
}
publicvoidsetId(intid)
{
this.id=id;
}
publicintgetPid()
{
returnpid;
}
publicvoidsetPid(intpid)
{
this.pid=pid;
}
publicStringgetName()
{
returnname;
}
publicvoidsetName(Stringname)
{
this.name=name;
}

}


packagecom.menu;
importjava.util.ArrayList;
importjava.util.List;
publicclassMenuManager
{
privateList<Menu>menuList=newArrayList<Menu>();
publicvoidadd(Menumenu)
{
menuList.add(menu);
}
publicList<Menu>getMenuList()
{
returnmenuList;
}
publicvoidsetMenuList(List<Menu>menuList)
{
this.menuList=menuList;
}

}


相关行业资讯

1、企业网站定制有何优点
2、现在的网站优化路线和方法是什么
3、几百元做一个企业网站靠谱吗
4、企业选择优质网站建设公司的五大核心标准
5、刚建好的网站需要低调理智
6、网站建设应该如何选择合适的网络公司
7、当代企业为什么要做网站
8、外贸网站如何设计才能够保住客户
9、企业网站建设中安全性问题的影响
10、网站建设决定企业发展也是网络时代的必然趋势
11、营销型企业网站建设的优势
12、营销型企业网站建设思路
13、开发网站需要什么技术
14、网站关键词优化三步法
15、企业网站建设的重要性
16、网站建设平台对比汇总
17、2025高端网站建设服务商推荐
18、企业采用网络营销的十大优势
19、网站优化要从哪些方面着手
20、推广优化中哪些被遗忘的重点
21、网站建设的基本流程主要包括哪些
22、网站建设的页面布局需要注意的细节问题
23、深圳企业网站建设需要灵魂
24、在网站制作方面容易引起失败的几个特定因素
25、如何在网站建设中做到成功引流
26、快速提升网站权重的五点方法
27、网站运营的关键因素
28、企业如何打造良好的营销型网站
29、网站设计中HTML代码的优化策略
30、企业网站建设的价值与注意事项
31、网站建设需要掌握一些什么技术
32、企业网站设计的现状与优化方向
33、现代企业做网站的重要性
34、SEO与主机空间的选择
35、网站建设参与者都应该了解推广优化基本知识
36、如何定位企业网站制作的方向
37、网站不收录到底是什么原因导致的
38、网站SSL证书详解
39、网络营销是什么常见的方式有哪些
40、网站内容与用户体验的重要性
41、网站设计具体是什么如何才能做好
42、企业网站设计的重要性
43、深圳网站建设关于服务器的选择
44、网站信息更新与用户交互实现方法
45、网站建设创新与用户体验分析
46、网页前端工程师学习与求职经验分享
47、对行业用户的需求分析是优化网站的核心内容
48、企业网站建设的关键要素分析
49、品牌建站有哪些特点及优势
50、手机网站建设的基本原则

相关视频推荐

自动化行业网站制作焊锡机/点胶机/螺丝机网站
企业网站制作新模式全部仅需800元/年
如何提高企叫网站打开速度
公司网站到期了该怎小续费
企业为什么必须要做一网站
企业网站的导航栏一般要规划哪些栏目
国际物流FBA物流网站建设深圳易捷网站公司公司
银制品金银器网站建设深圳易捷网站公司
包装印刷行业网站设计
膜结构公司网站设计
工商财务公司网站设计
购买一个域名需要多少钱
企业网站建设云虚拟主机需要多少钱
财务公言的网站怎么做才能显示在搜索引擎的首页
网站建设一站式服务
深圳网站建设公司网站排行榜
深圳市易捷网络科技有限公司版权所有     粤ICP备2022153140号
best smoke alarms australia |  vape detectors |  三和基金会 |  灰鲸智能 |  惠州网站建设 |  sitemap |  sitemap