首页 > 其他分享 >Springboot项目展示层级结构后端工具类

Springboot项目展示层级结构后端工具类

时间:2023-06-10 11:22:45浏览次数:47  
标签:层级 return sysMenuList 展示 List SysMenu getChildren sysMenu Springboot

public class MenuHelper {

    /**
     * 使用递归方法建菜单
     * @param sysMenuList
     * @return
     */
    public static List<SysMenu> buildTree(List<SysMenu> sysMenuList) {
        // 存放最终数据
        List<SysMenu> trees = new ArrayList<>();

        // 把所有的菜单数据进行遍历
        for (SysMenu sysMenu : sysMenuList) {
            // 递归入口 parentId = 0
            if (sysMenu.getParentId().longValue()==0){
                trees.add(getChildren(sysMenu,sysMenuList));
            }

        }
        return trees;

    }

    /**
     * 递归查找子节点
     * @param sysMenu
     * @param sysMenuList
     * @return
     */
    public static SysMenu getChildren(SysMenu sysMenu,List<SysMenu> sysMenuList){
        sysMenu.setChildren(new ArrayList<SysMenu>());

        // 遍历所有的菜单数据,判断id和parent_id的对应关系
        for (SysMenu menu : sysMenuList) {
            if (sysMenu.getId().longValue() == menu.getParentId().longValue()){
                if (sysMenu.getChildren() == null) {
                    sysMenu.setChildren(new ArrayList<>());
                }
                sysMenu.getChildren().add(getChildren(menu,sysMenuList));
            }
        }
        return sysMenu;
    }
}

实习时候项目出现此需求(在尚硅谷云上办公系统又碰到了),觉得有必要记录下!!!

云上办公系统笔记:(190条消息) 云上办公系统项目_不懂开发的程序猿的博客-CSDN博客

标签:层级,return,sysMenuList,展示,List,SysMenu,getChildren,sysMenu,Springboot
From: https://www.cnblogs.com/cy0628/p/17470958.html

相关文章

  • JAVA的springboot+vue家政服务管理平台,家政预约管理系统,附源码+数据库+论文+PPT
    1、项目介绍随着家政服务行业的不断发展,家政服务在现实生活中的使用和普及,家政服务行业成为近年内出现的一个新行业,并且能够成为大众广为认可和接受的行为和选择。设计家政服务管理平台的目的就是借助计算机让复杂的销售操作变简单,变高效。家政服务管理平台采用了B/S结构,JAVA作......
  • SpringBoot+Mysql+IDEA开发的社区医疗综合服务平台
    基于springboot的社区养老医疗综合服务平台项目介绍......
  • 安道教育新产品组合亮相西北教装展,展示教育信息化新思路。
    2023年6月9日,第四届西北教育装备博览会西安国际会展中心隆重开幕,安道教育携新产品、产品组合新形态及全场景教育信息化解决方案亮相现场。向现场教育专家及专业观众展示安道教育最新产品研发实力及全系列的产品衍生生态,为信息化教育提供更多的可能性,推动教育行业数字化转型发展新模......
  • java(springboot)实现将一个pdf按页码转成多张图片
    以下是一个将PDF转换成JPG格式图片的SpringBoot接口代码:importorg.apache.pdfbox.pdmodel.PDDocument;importorg.apache.pdfbox.rendering.PDFRenderer;importorg.springframework.http.MediaType;importorg.springframework.scheduling.annotation.Async;import......
  • Quartz + SpringBoot 实现定时任务(多任务,多执行时间)代码模板(直接CV即可)
    一,什么是Quartzquartz是一款开源且丰富特性的Java任务调度库,用于实现任务调度和定时任务。它支持各种任务类型和灵活的配置选项,具备作业持久化、集群和分布式调度、错误处理和重试机制等功能。Quartz被广泛应用于各种应用程序中,提供可靠和灵活的任务调度解决方案。二,核心概念......
  • SpringBoot+Vue+Spring Cloud Alibaba 实现大型电商系统【分布式微服务实现】
    前言这篇博客主要记录的是谷粒商城项目的完整开发过程大家想看的话也可以去这里看看:笔记地址传送门后续还会继续维护这个笔记一、项目架构二、技术总和三、开发准备1、开发环境搭建2、工程初始化四、分布式基础篇(全栈开发篇)五、分布式高级篇(微服务架构篇)......
  • 【视频】Python的天气数据爬虫实时抓取采集和可视化展示
    全文链接:http://tecdat.cn/?p=32715原文出处:拓端数据部落公众号分析师:XiaoyangZhou本文以天气数据实时抓取和可视化展示为主题,旨在探讨如何使用Python编写程序来实现对天气数据的抓取、可视化和预测。从中国气象局天气预报网来获取数据首先,我们需要从中国气象局天气预报网上......
  • JAVA的springboot+vue学习平台管理系统,校园在线学习管理系统,附源码+数据库+论文+PPT
    1、项目介绍在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括学习平台的网络应用,在外国学习平台已经是很普遍的方式,不过国内的管理平台可能还处于起步阶段。学习平台具有学习信息管理功能的选择。学习平台采用java技术,基于springboot框架,mysql数据库进行......
  • SpringBootServletInitializer 的作用
    SpringBootServletInitializer 是一个SpringBoot提供的用于配置Servlet初始化器的类。它继承自Spring的 SpringServletContainerInitializer 类,实现了 WebApplicationInitializer 接口,因此可以在Servlet容器启动时自动被加载,并生成一个servlet容器的配置类,用于初......
  • SpringBootServletInitializer 的作用
    SpringBootServletInitializer 是一个SpringBoot提供的用于配置Servlet初始化器的类。它继承自Spring的 SpringServletContainerInitializer 类,实现了 WebApplicationInitializer 接口,因此可以在Servlet容器启动时自动被加载,并生成一个servlet容器的配置类,用于初......