深圳易捷网络科技注册咨询网-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、网站建设时要注意哪些SEO推广的细节
10、营销型企业网站受欢迎的五大特点
11、网站建设要把握哪些重点
12、SEO优化真的那么复杂吗?
13、常见的影响SEO排名因素,哪种是准确的?
14、企业网站建设中存在的一些问题
15、推广专员必须了解几种网站优化细节
16、新手接触竞价推广容易进入的误区
17、5种错误的、过时的企业网站推广优化方案
18、企业网站如何选择制作所用的画风
19、我们要的网站优化到底是什么
20、如何查看网站是哪家公司做的
21、网站设计的空间问题
22、定制高端网站有什么规划
23、遂宁网站建设如何做有创意锚文本链接
24、如何避免网站建设公司乱报价
25、什么样的文章标题更吸引客户
26、影响网站SEO优化主要因素有哪些
27、网站常用的活动类型有哪些
28、精准的网站建设步骤你知道吗?
29、手机网站建设CSS样式表可以给页中的元素设置各种过滤器
30、非“官网”的网站要怎样才不会被百度降权
31、在网站建设中制作网页要掌握什么知识
32、浅谈与百度快照相关的问题
33、2017年的推广优化日记:推广专员从推广优化中的收获是什么
34、 做SEO网站优化一定要用心_网站运营_深圳网络公司
35、互联网企业盈利方法
36、如何提高网站转化率的变现量
37、打造返利网站完整优化案例:框架优化
38、网站建设对于企业发展的重要性有哪些
39、网站建设:让您的网站适应移动端
40、网站要改版时有哪些问题要考虑注意的呢
41、深圳网站建设公司SEO网站内部优化行动指南
42、如何向搜素引擎彰显网站的亮点
43、网站内容更新的技巧和方法
44、如果想网站建设要脱颖而出那么要注意几点
45、谈推广优化常利用到的标签技术
46、核心词是企业SEO优化的重点!
47、企业网站设计左右框架型
48、优化教程取材自查找引擎
49、企业建设一个网站需要多长时间?
50、交换友情链接需要注意的内容

相关视频推荐

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