深圳易捷网络科技注册咨询网-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、404页面对于SEO优化的重要性
6、互联网时代选择网站优化的优点都有哪些
7、你不可不知的网站建设秘密
8、如何建立健康的账户结构
9、手机网站建设保证网站的趣味性及观赏性
10、关于网站的制作以及学习网站建设技巧
11、如何提高网站转化率的变现量
12、影响网站提升SEO优化排名的因素在这里
13、如何去建设一个品牌网站
14、浅谈企业手机网站如何做好内容建设
15、做网站前应反复推敲策划方案
16、网站过度优化的五点表现
17、网站页面对SEO流量的影响
18、 企业网站优化站内篇:企业网站SEO怎么做?_网站运营_深圳网络公司
19、细数网站优化中易犯的致命错误
20、如何判断网站建设的好坏
21、主站未收录之前拓展二级域名就是自掘网站坟墓
22、网站设计中常见几个坑你中招了吗
23、站长营造网站氛围需从哪些方面入手
24、网站程序都有哪些
25、网站监控:百度云观测、360网站监控等体验
26、如何提高医院网络推广的效果
27、网站运营小策略
28、从“潘币营销”看潘石屹的网络营销功力
29、做seo要让顾客获得好的网站体验!
30、SEO优化:关于挖掘用户需求的方法和技巧
31、企业网站制作不好的原因有哪些
32、如何正确使用锚文本打造最佳的用户体验
33、SEO优化之怎样抓取手机网站的图片
34、标签系统在推广优化中的重要性
35、浅说做网站的风格与色彩的搭配
36、怎样用搜索引擎快照突破网站内容限制
37、“善事先利器”选好竞品词网站排名升得快
38、怎么建设微信服务号和订阅号和他们的优缺点
39、Matt Cutts 发视频详细讲述 301 重定向
40、旅游网站的设计与开发
41、实用性是三线城市房产网发展成败的关键
42、深圳做网站优化如何挖掘长尾关键词
43、Seo优化方案需要注意哪些知识点
44、网站运营策划:分析了解用户需求才是核心
45、SEO软文标题怎么写吸引人2018标题写作套路大全
46、网络营销怪现象
47、什么是百度快照如何提高快照更新频率
48、推广网站的最佳效果方法
49、网站为什么需要维护和运营
50、如何判断网站原创文章质量

相关视频推荐

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