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

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、 如何对一个网站进行seo优化_网站运营_深圳网络公司
2、网站优化SEO应该让步于用户体验度吗
3、分析网站收录下降4大原因
4、网络营销的小知识,你确定不看吗
5、企业目标和战略计划
6、个人总结几个推广优化关键要素
7、搜索引擎优化应成为企业核心战略的重要部分
8、厉害的SEO手段:链接诱饵的制作
9、网站建设如何创造有效的外部链接
10、网站url优化主要包括哪些
11、做SEM快速找到精准推广关键词的方法
12、推广优化思维:推广专员的修养至关重要_
13、浅谈企业网站优化存在的常见问题
14、深圳网络营销|大数据对网络营销有什么作用
15、互联网信息的时效性如何影响网站建设
16、做网站的每个阶段分别都要什么开销
17、通过网站审查确保可扩展性
18、外贸建站内容建设的方式
19、各种网络推广方式,企业到底该如何选择
20、对比网站的动漫效果各种技术手段
21、建设大型网站建设要注意的基本问题
22、相似度降低手法以避免影响优化
23、网站结构中的反链是什么?
24、网站主题创作离不开四个大的方面
25、10种策略做活你的网站,让它与众不同
26、如何建设良好的效益型网站
27、深圳网站建设可以高大上
28、网站建设中网站前台代码怎么写才最简洁合理
29、新手做好公司网站优化的小技巧
30、春节时期别忘了优化自己的网站
31、网站建设成功与否的因素
32、网站建设中做好网站用户体验度的几个技巧
33、这些都是网站建设对企业发展的优势
34、在网站设计过程中反复修改非常浪费时间
35、分析企业网站内链建设的技巧和注意事项
36、网站每天被蜘蛛爬N遍但为何收录很少
37、深圳微信小程序网站建设
38、要做就做PC网站+手机网站+微信网站
39、网站降权的主要原因是“优化过度与作弊”
40、网站打开很慢的原因有哪些
41、教育培训网站建设的几点建议
42、你知道吗?网络推广越来越受重视了!
43、品牌网站建设这几个问题要重视
44、交换链接时怎么样判断网站是否降权
45、如何诊断自己的网站
46、菜谱网站整站优化思路
47、深圳网站建设公司要有品牌保护意识
48、浅析网站优化标准检测的因素
49、应该了解的网络爬虫分类和策略
50、搜索引擎上去查找的那些访客才是搜索引擎的客

相关视频推荐

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