往往要将数据库中的菜单配置转成树形结构展示到前台,这边提供一种二维树组转树形(同事那边看来的,很好用),以供参考:
数据库 id,name,parent_id
java对象:
private class TreeNode{ private String id; private String name; private String parentId; private List<TreeNode> children; // TODO getter/setter }
树构造代码如下:
List<TreeNode> menuList = xxManager.findAllMenu(); List<TreeNode> nodeList = new ArrayList<TreeNode>(); for(TreeNode node1 : menuList){ boolean mark = false; for(TreeNode node2 : menuList){ if(node1.getParentId()!=null && node1.getParentId().equals(node2.getId())){ mark = true; if(node2.getChildren() == null) node2.setChildren(new ArrayList<TreeNode>()); node2.getChildren().add(node1); break; } } if(!mark){ nodeList.add(node1); } } //转为json格式 String json = JSONArray.fromObject(nodeList).toString(); System.out.println("json:"+json);
原理如下图了:
相关推荐
java树形控件java树形控件java树形控件java树形控件java树形控件java树形控件java树形控件java树形控件java树形控件java树形控件java树形控件
java实现的jsp动态树形菜单功能 简单的一个例子 代码全面 功能完善
Java项目中树形菜单的创建
该文档是用java代码编写的winfrom树形菜单。可以当模板用
JAVA实现EASYUI树形表格(TreeGrid)代码,gradle项目,内含gradle文件夹和mysql数据库文件,解压后导入mysql数据库,文件夹导入eclipse即可使用。首次使用请更新gradle项目下载JAR包,不然报错。
java的动态树形菜单,和分页的实现,源码加数据库,可直接运行。
java 写的树形BBS
用Java实现文件树形结构的显示 (主要用于我的博文的代码资源下载)
用JAVa实现 树形目录的显示,有界面
Java实现的,将树形层级结构的数据转换成表格,通过打点的方式向表格中插入数据,支持行头表格、列头表格、交叉表格三种形式
java根据过滤条件显示树形结构,其中包括所需要的jar包
java解析xml动态生成树形菜单结构 可以满足无限层的树形菜单,该工程的所有代码,都有详细的实例。 以及js控制树形菜单的伸展和收缩,以及全选
基于JAVA建立树形结构的算法优化.pdf
Java递归将List转为树形结构 博客地址:https://blog.csdn.net/weixin_38500202/article/details/110456363
Ztree+treeTable实现 Java实现 树形菜单 树形表格 有丰富的实例 和官方开发文档,也有官方api 不懂的可以查询官方api,实现很简单,按照实例做就可以
http://blog.csdn.net/u014172271/article/details/79438214的源代码工程
将Map中内容展示出来
该工具类实现java导出树形结构的方法,并未采用excel分组功能实现,而是根据树节点显示层级设置excel样式。针对easyUi,treeGrid开发的导出excel功能。方法简便实用、性强、通俗易懂。项目中亲测,no problem。