基于jsTree的无限级树JSON数据的转换
jstree 主页 :
http://www.jstree.com/
其中提供了一种从后台取数据渲染成树的形式:
$("#mytree").tree({data : {type : "json",url : "${ctx}/user/power!list.do"}
});
对于url中返回的值必须是它定义的json数据形式:
$("#demo2").tree({data : {type : "json",json : [ { attributes: { id : "pjson_1" }, state: "open", data: "Root node 1", children : [{ attributes: { id : "pjson_2" }, data: { title : "Custom icon", icon : "../media/images/ok.png" } },{ attributes: { id : "pjson_3" }, data: "Child node 2" },{ attributes: { id : "pjson_4" }, data: "Some other child node" }]}, { attributes: { id : "pjson_5" }, data: "Root node 2" } ]}
});
这里需要一个从后台实例集合转换为它规定的json数据的形式.
/*** 无限递归获得jsTree的json字串* * @param parentId* 父权限id* @return*/private String getJson(long parentId){// 把顶层的查出来List<Action> actions = actionManager.queryByParentId(parentId);for (int i = 0; i < actions.size(); i++){Action a = actions.get(i);// 有子节点if (a.getIshaschild() == 1){str += "{attributes:{id:\"" + a.getAnid()+ "\"},state:\"open\",data:\"" + a.getAnname() + "\" ,";str += "children:[";// 查出它的子节点List<Action> list = actionManager.queryByParentId(a.getAnid());// 遍历它的子节点for (int j = 0; j < list.size(); j++){Action ac = list.get(j);//还有子节点(递归调用)if (ac.getIshaschild() == 1){this.getJson(ac.getParentid());}else{str += "{attributes:{id:\"" + ac.getAnid()+ "\"},state:\"open\",data:\"" + ac.getAnname()+ "\" " + " }";if (j < list.size() - 1){str += ",";}}}str += "]";str += " }";if (i < actions.size() - 1){str += ",";}}}return str;}
调用:
@org.apache.struts2.convention.annotation.Action(results ={ @Result(name = "success", location = "/main/user/action-list.jsp") })public String list(){String str = "[";// 从根开始str += this.getJson(0);str += "]";this.renderJson(str);return null;}
其中Action是菜单类或权限类等的实体。
效果图:
基于jsTree的无限级树JSON数据的转换相关推荐
- java集合转js数值,基于jsTree的无限级树JSON数据的转换
评论 # re: 基于jsTree的无限级树JSON数据的转换 回复 更多评论 exttree最好了!配合dwr ok 2009-05-05 22:50 | 大罗卜 # re: 基于jsTree的 ...
- 数据结构“基于哈夫曼树的数据压缩算法”的实验报告
一个不知名大学生,江湖人称菜狗 original author: jacky Li Email : 3435673055@qq.com Last edited: 2022.11.20 目录 数据结构& ...
- BJFU_数据结构习题_262基于哈夫曼树的数据压缩算法
欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 262基于哈夫曼树的数据压缩算法 描述 输入一串字符串,根据给定的字符串中字符出现的频率建立相应哈夫曼树,构造哈夫曼编码表, ...
- 基于哈夫曼树的数据压缩算法
计算机科学与技术系 实 验 报 告 专业名称 计算机科学与技术 课程名称 数据结构与算法 班 级 17计科2班 综合实验2 基于哈夫曼树的数据压缩算法 实验日期 2019.04.29 综合实验二 基于 ...
- 数据结构 基于哈夫曼树的数据压缩算法
数据结构 基于哈夫曼树的数据压缩算法 实验目的 实验内容 实验提示 实验代码 实验小结 实验目的 1.掌握哈夫曼树的构造算法. 2.掌握哈夫曼编码的构造算法. 实验内容 问题描述 输入一串字符串,根据 ...
- JAVA对象JSON数据互相转换的四种常见情况
这篇文章主要介绍了JAVA对象JSON数据互相转换的四种常见情况,需要的朋友可以参考下 1. 把java 对象列表转换为json对象数组,并转为字符串 复制代码代码如下: JSONArray ...
- python json数据的转换
1 Python数据转json字符串 import json json_str = json.dumps(py_data) 参数解析: json_str = json.dumps(py_data,s ...
- SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换)
Spring3.1开始使用新的HandlerMapping 和 HandlerAdapter 来支持@Contoller 和@RequestMapping注解处理:处理器映射RequestMappin ...
- 把数据对象转成字符串_Android Json数据的转换
按目前来说,大多数前端和后台的交互数据的格式,基本都是以json格式为主,json数据已经是变得很常见了.为了能够更加方便的处理json数据,我自己封装了一个工具类,使得能够更加方便快捷的去处理jso ...
最新文章
- 统一沟通成本节约数据表
- Spring源码由浅入深系列一 简介
- vue-cli 3.0安装和使用
- vue 地图使用navigator_weex踩坑之旅第五弹 ~ 使用navigator内置模块实现导航
- 后端的日期类型赋值前端表单_后端获取前端数据的四种方式
- 凸优化第七章统计估计 7.5实验设计
- vue 创建项目之vue init webpack xxx
- 淘宝打单发货API,淘宝打单发货接口
- JavaScript-单例模式
- Unity性能优化之图形渲染(渲染性能的加强)
- EnterpriseArchitect画图工具-活动图使用(一)
- 如何剔除数组中得空字符串 null undefined
- Micro-personnel部署
- 2019年上半年全国计算机二级(等级)考试报名网址
- 语言模型训练工具SRILM
- 不成熟的梦想家 (未熟DREAMER)
- 如何理解数据科学的中的数据泄露(Data Leakage)
- 篇章分析的理论和应用
- proxy如何解决需要用户名密码
- 怎么设置代理IP?代理IP怎么使用?
热门文章
- ecshop 支持 php,ecshop支持PHP7的修改方法
- 做任务云闪付为什么要实名认证_ISO9001质量体系认证:为什么要做?如何去做?...
- java 字符串索引从0开始_无限字符串中的字符串的第一个索引-Java
- 有关单元测试的 5 个建议
- 计算机动画专业哪个大学排名,哪些大学院校数字媒体艺术、动画专业比较排名...
- 接口测试——测试用例执行
- 人脸检测之Haar分类器方法
- ❤️程序员国企太安逸想辞职,又嫌私企大厂压力大996我该如何选择?(高级全栈自动化之路)
- ie内核的css居中,在IE中居中的css问题
- 海岸鸿蒙高锰酸盐指数浓度,水中高锰酸盐指数的检测步骤