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数据的转换相关推荐

  1. java集合转js数值,基于jsTree的无限级树JSON数据的转换

    评论 # re: 基于jsTree的无限级树JSON数据的转换  回复  更多评论 exttree最好了!配合dwr ok 2009-05-05 22:50 | 大罗卜 # re: 基于jsTree的 ...

  2. 数据结构“基于哈夫曼树的数据压缩算法”的实验报告

    一个不知名大学生,江湖人称菜狗 original author: jacky Li Email : 3435673055@qq.com Last edited: 2022.11.20 目录 数据结构& ...

  3. BJFU_数据结构习题_262基于哈夫曼树的数据压缩算法

    欢迎登录北京林业大学OJ系统 http://www.bjfuacm.com 262基于哈夫曼树的数据压缩算法 描述 输入一串字符串,根据给定的字符串中字符出现的频率建立相应哈夫曼树,构造哈夫曼编码表, ...

  4. 基于哈夫曼树的数据压缩算法

    计算机科学与技术系 实 验 报 告 专业名称 计算机科学与技术 课程名称 数据结构与算法 班 级 17计科2班 综合实验2 基于哈夫曼树的数据压缩算法 实验日期 2019.04.29 综合实验二 基于 ...

  5. 数据结构 基于哈夫曼树的数据压缩算法

    数据结构 基于哈夫曼树的数据压缩算法 实验目的 实验内容 实验提示 实验代码 实验小结 实验目的 1.掌握哈夫曼树的构造算法. 2.掌握哈夫曼编码的构造算法. 实验内容 问题描述 输入一串字符串,根据 ...

  6. JAVA对象JSON数据互相转换的四种常见情况

    这篇文章主要介绍了JAVA对象JSON数据互相转换的四种常见情况,需要的朋友可以参考下 1. 把java 对象列表转换为json对象数组,并转为字符串 复制代码代码如下:     JSONArray ...

  7. python json数据的转换

    1  Python数据转json字符串 import json json_str = json.dumps(py_data) 参数解析: json_str = json.dumps(py_data,s ...

  8. SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换)

    Spring3.1开始使用新的HandlerMapping 和 HandlerAdapter 来支持@Contoller 和@RequestMapping注解处理:处理器映射RequestMappin ...

  9. 把数据对象转成字符串_Android Json数据的转换

    按目前来说,大多数前端和后台的交互数据的格式,基本都是以json格式为主,json数据已经是变得很常见了.为了能够更加方便的处理json数据,我自己封装了一个工具类,使得能够更加方便快捷的去处理jso ...

最新文章

  1. Eclipse设置字符编码
  2. pyqt5讲解12:自定义参数 (给信号传入参数)
  3. mysql 写入慢_MySQL主从,你遇到过哪些问题?
  4. 风变编程python论文_如何看待风变编程的 Python 网课?
  5. solr hdfs solr.in.sh
  6. 【常见Web应用安全问题】---1、Cross Site Scripting
  7. 根据div 标签 查看数组@class=modulwrap 下面的/table/tbody/tr/td
  8. matlab方差分析加代码和结果分析
  9. Unity接入海康威视门禁(获取门禁状态信息、门禁反控等)
  10. php递归算法获取树形菜单数据TreeMenu代码实现
  11. PowerPoint-漂亮表格三招
  12. 推荐2个开源聊天服务器
  13. Zabbix篇之Web登录页面报错:Database:Error connecting to database: Access denied for user ‘zabbix‘ @ ‘localhos
  14. 子库存-OU-库存组织-关系
  15. 51单片机 74HC595应用实例+Proteus仿真
  16. 全卷积神经网络图像分割(U-net)-keras实现
  17. win10系统无法连接xp工作组计算机,win10系统看不到windows xp系统主机上工作组的具体教程...
  18. 爬虫爬取快递100网查快递信息
  19. C++ STL函数 结构体数组sort()排序(henu.hjy)
  20. Cent0S7系统镜像文件(百度网盘资源)

热门文章

  1. 新加坡计算机金融专业,22Fall香港、新加坡名校多个专业申请时间已公布!最快本月截止!...
  2. 软件测试面试,秋招你准备好了吗?(内附答案)
  3. websocket python unity_Unity 连接WebSocket(ws://)服务器
  4. 肺结节圆形边界光滑_肺结节读片(16):再谈肺磨玻璃结节边界的CT形态特点
  5. html保存按钮代码_如何防止Joomla编辑器删除HTML代码
  6. python线程按照顺序执行_Python3多线程之间的执行顺序问题
  7. 做完自动化测试,但别让不会汇报毁了你...
  8. ios上传图片 java_iOS ASIFormDataRequest上传图片 前后台代码
  9. activimq java集成_Java消息队列-Spring整合ActiveMq
  10. linux嵌入式工作室,【课程培训】嵌入式linux驱动开发系列教程 | linux2web工作室...