基于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 ...
最新文章
- Eclipse设置字符编码
- pyqt5讲解12:自定义参数 (给信号传入参数)
- mysql 写入慢_MySQL主从,你遇到过哪些问题?
- 风变编程python论文_如何看待风变编程的 Python 网课?
- solr hdfs solr.in.sh
- 【常见Web应用安全问题】---1、Cross Site Scripting
- 根据div 标签 查看数组@class=modulwrap 下面的/table/tbody/tr/td
- matlab方差分析加代码和结果分析
- Unity接入海康威视门禁(获取门禁状态信息、门禁反控等)
- php递归算法获取树形菜单数据TreeMenu代码实现
- PowerPoint-漂亮表格三招
- 推荐2个开源聊天服务器
- Zabbix篇之Web登录页面报错:Database:Error connecting to database: Access denied for user ‘zabbix‘ @ ‘localhos
- 子库存-OU-库存组织-关系
- 51单片机 74HC595应用实例+Proteus仿真
- 全卷积神经网络图像分割(U-net)-keras实现
- win10系统无法连接xp工作组计算机,win10系统看不到windows xp系统主机上工作组的具体教程...
- 爬虫爬取快递100网查快递信息
- C++ STL函数 结构体数组sort()排序(henu.hjy)
- Cent0S7系统镜像文件(百度网盘资源)
热门文章
- 新加坡计算机金融专业,22Fall香港、新加坡名校多个专业申请时间已公布!最快本月截止!...
- 软件测试面试,秋招你准备好了吗?(内附答案)
- websocket python unity_Unity 连接WebSocket(ws://)服务器
- 肺结节圆形边界光滑_肺结节读片(16):再谈肺磨玻璃结节边界的CT形态特点
- html保存按钮代码_如何防止Joomla编辑器删除HTML代码
- python线程按照顺序执行_Python3多线程之间的执行顺序问题
- 做完自动化测试,但别让不会汇报毁了你...
- ios上传图片 java_iOS ASIFormDataRequest上传图片 前后台代码
- activimq java集成_Java消息队列-Spring整合ActiveMq
- linux嵌入式工作室,【课程培训】嵌入式linux驱动开发系列教程 | linux2web工作室...