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

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

信息来源:深圳市易捷网络科技有限公司
信息发布时间:2025-7-1

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、seo中百度下拉框怎么操作呢?
6、企业制作网站为什么对响应式青睐有加
7、企业网站做外链的方法
8、深圳网站制作:如何创建自己的字体
9、企业站如何做好内页排名
10、长尾关键词理论的通俗说法与意义
11、企业网站制作用模板的弊端
12、现代企业做网站的重要性
13、做网站这攻略必看不仅省钱还能上首页
14、网站优化要根据用户需求
15、借助互联网后企业做网站建设会有什么改变呢?
16、手机网站建设“和”用于整个网站的形象风格
17、网站建设教你建设出一个成功的网站
18、产品(服务)的价值是如何定位
19、如何解决引流困局中小跨境电商营销的妙
20、Mysql查询Like模糊查询介绍
21、网站建设中域名转出的方式方法
22、网站描述怎样设置比较好
23、企业网站建设存在的疑难杂症如何解决
24、 掌握正确的网站SEO百度优化思路非常重要!
25、网站如何迈向巅峰
26、做好网站建设,你要清楚这几点
27、营销型网站是如何帮中小企业翻身的
28、浅谈企业网站建设之网站首页设计方案规划
29、全网营销时代主心骨仍然是网站建设
30、网站流量分析具体应该分析什么
31、网站建设怎样做可以得到蜘蛛的喜爱
32、手机网站建设进行批处理动作
33、流量与金钱也是一个桃色怪圈
34、这几个步骤让你的网络推广更为顺利!
35、网站建设有助于企业品牌形象的塑造
36、影响网站收录的三个因素
37、网站建设之原型绘制总结
38、推广优化技巧:关键词的选择技巧
39、网站建设中收录量和排名下降的解决办法
40、如何利用微转化提升品牌效应
41、canonical标签的真正作用
42、深圳网站建设中不可出现这些元素
43、做网站优化时必须遵循以下三大原则
44、一名成功的优化人员所不能缺失的几个技能
45、网站制作新趋势
46、理解正确的seo优化,远离投机取巧!
47、手机网站建设商家以完美的网页形象作为获取合理利益的平台
48、如何稳步提高百度排名
49、移动互联网时代站长们应抛弃这2大思维
50、网站运营优化实例分享之壁纸下载站

相关视频推荐

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