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

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

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

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、评判一个网站好坏的5大因素
10、网站建设浅谈网站给企业带来的好处
11、如何运用网站建设提升企业形象
12、新人必须注重推广优化最基本的这些常识
13、中国互联网经济迈向技术驱动型创新
14、搜索引擎算法频变革站长如何应对
15、新网站刚优化的时候进入沙盒期该怎么办
16、企业网站建设过程中关键因素
17、如果网站排名下降哪些可能是错误
18、如何做好多终端设备网站的SEO优化工作呢?
19、企业网站建设之关键词布局
20、深圳网站建设公司-“互联网时代的创业者”
21、企业网站制作久年终要进行网站改版,而这些可懂
22、如何开展工作才能提升关键词优化的效率?
23、如何解决网站不支持301重定向的问题
24、网站在实战中应该怎样进行SEO优化呢?
25、企业官网为什么要建网站
26、站长别让DEDE“会员”功能毁了你的站
27、移动网站建设如何诱导用户阅读
28、浅析网站如何自测
29、网站优化如何布局关键词
30、响应式网站建设一般需要多少钱
31、SEO分析:关键词排名进入首页真的有流量吗
32、 如何合理的把网站排名提上去?
33、网站是否存在着过度优化的几种措施分析
34、手机建站软件建站的必要性
35、加快网站收录的技巧
36、手机网站建设中排版的重要性
37、一个好的网站制作标准是怎样的呢
38、对SEO一知半解的客户常提及的问题解答
39、推广优化新站优化法则
40、权重值对SEO的影响
41、网站建设中的优化3步曲
42、SEO接手一个网站要如何优化
43、 seoer如何有一套属于自己的优化方法?
44、B2B电商网站改版的注意事项
45、怎么样防止网站高跳出率
46、企业网站建设的最关键一环是:突出企业品牌实
47、SEO优化做得很好的网站却没有好排名的原因
48、婚庆网站:打造类似携程模式 多元收入
49、自适应的网站制作优势在哪?
50、企业官网建设有哪些原则

相关视频推荐

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