java实现遍历树形菜单方法——service层

简介: java实现遍历树形菜单方法——service层

Service接口:

/**  
* @Title: IVoteTreeService.java
* @Package org.Service
* @Description: TODO该方法的主要作用:
* @author A18ccms A18ccms_gmail_com  
* @date 2017-5-6 下午10:42:10
* @version V1.0  
*/
package org.Service;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.entity.VoteTree;
 /**   
 *    
 * 项目名称:testTree   
 * 类名称:IVoteTreeService   
 * 类描述:   
 * 创建人:Mu Xiongxiong  
 * 创建时间:2017-5-6 下午10:42:10   
 * 修改人:Mu Xiongxiong   
 * 修改时间:2017-5-6 下午10:42:10   
 * 修改备注:   
 * @version    
 *    
 */
public interface IVoteTreeService {
  
  public JSONArray getTreeJson();
  List<VoteTree> treeList();
}


Service实现类:

/**  
* @Title: VoteTreeServiceImpl.java
* @Package org.Service.impl
* @Description: TODO该方法的主要作用:
* @author A18ccms A18ccms_gmail_com  
* @date 2017-5-6 下午10:43:10
* @version V1.0  
*/
package org.Service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.Service.IVoteTreeService;
import org.dao.IVoteTreeDao;
import org.dao.impl.IVoteTreeDaoImpl;
import org.entity.VoteTree;
import org.junit.Test;
import com.alibaba.fastjson.JSON;
import com.sun.org.apache.xerces.internal.parsers.IntegratedParserConfiguration;
 /**   
 *    
 * 项目名称:testTree   
 * 类名称:VoteTreeServiceImpl   
 * 类描述:   
 * 创建人:Mu Xiongxiong  
 * 创建时间:2017-5-6 下午10:43:10   
 * 修改人:Mu Xiongxiong   
 * 修改时间:2017-5-6 下午10:43:10   
 * 修改备注:   
 * @version    
 *    
 */
public class VoteTreeServiceImpl implements IVoteTreeService {
  IVoteTreeDao voteTreeDao = new IVoteTreeDaoImpl();
  
  
  public JSONArray getTreeJson(){
    Map<String, Object> treeMap = new HashMap<String, Object>();
    Map<String, Object> treejsonMap = new HashMap<String, Object>();
    treeMap.put("id",1);
    treeMap.put("text", "用户");
    treeMap.put("children", treeList());
    JSONArray jsonObject = JSONArray.fromObject(treeMap);
    return jsonObject;
    
  }
  
  
  
  @Override
  public List<VoteTree> treeList() {
    List<VoteTree> nextSubSet = new ArrayList<VoteTree>();
    //最小的level
    Long minLevel =voteTreeDao.minId();  
    //一级目录
    List<VoteTree> friList = voteTreeDao.getFirstLevel(minLevel);
    for (VoteTree voteTree : friList) {
      //根据一级目录查找所有的子集
      voteTree.setChildren(nextSubSet);
      nextSubSet =voteTreeDao.getNextSubSet(voteTree);
    }
    return nextSubSet;
  }
  
}


相关文章
|
存储 监控 Java
《从头开始学java,一天一个知识点》之:数组入门:一维数组的定义与遍历
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列就是为你打造的Java「速效救心丸」!我们承诺:每天1分钟,地铁通勤、午休间隙即可完成学习;直击痛点,只讲高频考点和实际开发中的「坑位」;拒绝臃肿,没有冗长概念堆砌,每篇都有可运行的代码标本。明日预告:《多维数组与常见操作》。 通过实例讲解数组的核心认知、趣味场景应用、企业级开发规范及优化技巧,帮助你快速掌握Java数组的精髓。
615 23
|
存储 Java 开发者
在 Java 中,如何遍历一个 Set 集合?
【10月更文挑战第30天】开发者可以根据具体的需求和代码风格选择合适的遍历方式。增强for循环简洁直观,适用于大多数简单的遍历场景;迭代器则更加灵活,可在遍历过程中进行更多复杂的操作;而Lambda表达式和`forEach`方法则提供了一种更简洁的函数式编程风格的遍历方式。
4838 113
|
Java 程序员 编译器
Java|如何正确地在遍历 List 时删除元素
从源码分析如何正确地在遍历 List 时删除元素。为什么有的写法会导致异常,而另一些不会。
589 3
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
359 5
|
Java 数据库
基于java的汽车服务管理系统(Car Service Management System)
基于java的汽车服务管理系统(Car Service Management System)
237 0
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
952 1
|
存储 算法 Java
Java一分钟之-数组的创建与遍历
数组作为Java中存储和操作一组相同类型数据的基本结构,其创建和遍历是编程基础中的基础。通过不同的创建方式,可以根据实际需求灵活地初始化数组。而选择合适的遍历方法,则可以提高代码的可读性和效率。掌握这些基本技能,对于深入学习Java乃至其他编程语言的数据结构和算法都是至关重要的。
226 6
|
域名解析 分布式计算 网络协议
java遍历hdfs路径信息,报错EOFException
java遍历hdfs路径信息,报错EOFException
275 3
|
存储 Java 开发工具
【Azure 存储服务】Java Azure Storage SDK V12使用Endpoint连接Blob Service遇见 The Azure Storage endpoint url is malformed
【Azure 存储服务】Java Azure Storage SDK V12使用Endpoint连接Blob Service遇见 The Azure Storage endpoint url is malformed
331 0
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
213 0
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?