深圳易捷网络科技财税咨询网-neatmaster518.com 返回首页

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

信息来源:深圳市易捷网络科技有限公司
信息发布时间:2024/12/22

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、面对强大的人人网给学院SNS网站的运营思路
2、分享企业网站优化方案的技巧
3、企业网站建设怎么带来经济效益
4、如何生成手机网站二维码
5、网站建设如何改善优化网站性能
6、OOD方法
7、网站上线前期的关键词优化制定策略
8、新站“引诱”蜘蛛抓取的SEO技巧,你都知道吗
9、如何提高企业网站的权重增加客户访问量
10、分享整站优化项目在操作过程中的心得体会
11、网站设计需注意的误区,网站制作制定需注意的规范
12、该如何通过优化网站形象来增强SEO效果
13、双十一背后有哪些值得SEOer借鉴的经验
14、高端网站设计对于深圳初创企业的重要性
15、制作网站需要花多少钱如何网站制作
16、深圳网站建设和品牌价值提升重在细节
17、网站建设企业网页设计要点
18、做网站结合多方面因素极速加载
19、企业网站优化站内篇:企业网站推广优化怎么做
20、怎样应对seo优化中各个时期的困难
21、什么样的文章标题更吸引客户
22、网易企业邮箱免费版申请教程2023年版
23、网站建设浅谈网站内容策划原则
24、网站制作浅谈网站策划及意义
25、SEO外链建设无用论到底谁说的
26、专业网站建设公司告诉你网站设计应该注重什么问题
27、网站优化关键字的价格取决定哪些要素
28、2019国庆节放假安排通知
29、网站建设哪些问题会影响用户体验
30、如何做一个好的企业网站
31、网络推广外包应该如何选择
32、高大上的企业品牌网站的导航是怎么制作的?
33、搜索引擎给予的启示:挖掘精准长尾词
34、网站做百度推广的创意怎样撰写
35、网站建设要注意什么事项,网站建设注意事项有哪些
36、那么小企业应该建设什么样的网站呢
37、网络推广公司应该怎么做产品服务方面的广告
38、企业网站设计象形符号
39、营销型网站建设时要注意些什么
40、推广对企业的作用
41、SEO优化TDK标签设置及关键词进阶“细节”
42、网站制作内页设计的六种设计方式
43、影楼网站如何写高质量的原创文章
44、提前做好哪些可以使网站排名少受折磨
45、高端网站设计需要做好哪几个方面
46、深圳网站制作的步骤是什么,网站长尾关键词要如何布局?
47、 研究显示图像优化不佳影响网站的用户体验_网站运营_深圳网络公司
48、网站做分类目录有什么好处
49、库存站主网络推广方法综述
50、网站做了SEO优化没有排名的原因是什么
深圳市易捷网络科技有限公司版权所有    粤ICP备2022153140号