JSP代码片段

  1. <%@ page language="java" contentType="text/html; charset=utf-8"
  2. pageEncoding="utf-8"%>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  7. <script type="text/javascript"
  8. src="${ctx}/thscommon/javascript/jquery-1.7.2.min.js"></script>
  9. <script type="text/javascript"
  10. src="${ctx}/win/javascript/jquery.ztree.core-3.5.js"></script>
  11. <link rel="stylesheet" href="${ctx}/win/css/zTreeStyle/zTreeStyle.css"
  12. type="text/css">
  13. <title>Insert title here</title>
  14.  
  15. <script type="text/javascript">
  16. var setting = {
  17. /* check : {
  18. enable : true,
  19. chkStyle : "radio",
  20. radioType: "id"
  21. }, */
  22. async : {
  23. enable : true,
  24. url : "${ctx}/common/tree/river!getNodeData.action",
  25. autoParam : [ "id" ],
  26. dataFilter : filter
  27. },
  28. callback : {
  29. //beforeClick: beforeClick,
  30. onClick : onClick
  31. }
  32. };
  33.  
  34. function filter(treeId, parentNode, childNodes) {
  35. if (!childNodes)
  36. return null;
  37. for ( var i = 0, l = childNodes.length; i < l; i++) {
  38. childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
  39. }
  40. return childNodes;
  41. }
  42.  
  43. function onClick(event, treeId, treeNode, clickFlag) {
  44. var win = art.dialog.open.origin;//来源页面
  45. win.snstSet(treeNode.id, treeNode.name,$("#idx").val());
  46. $.dialog.close();
  47. }
  48.  
  49. $(document).ready(function() {
  50. $.fn.zTree.init($("#tree"), setting);
  51. });
  52. //-->
  53. </script>
  54. </head>
  55. <body>
  56. <div class="zTreeDemoBackground left">
  57. <ul id="tree" class="ztree"></ul>
  58. </div>
  59. <input type="hidden" id="idx" name="idx" value="${idx}">
  60. </body>
  61. </html>

action处理如下

  1. public void getNodeData() {
  2. List<Map<String, Object>> nodedata = service.getNodes(this.getId());
  3. List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
  4. Map<String, Object> tmp = null;
  5. for (Map<String, Object> map : nodedata) {
  6. tmp = new HashMap<String, Object>();
  7. tmp.put("id", map.get("id"));
  8. tmp.put("name", map.get("name"));
  9. tmp.put("isParent",
  10. Integer.valueOf(map.get("cnt").toString()) > 0 ? true
  11. : false);
  12. list.add(tmp);
  13. }
  14. try {
  15. PrintWriter out;
  16. JSONObject jo = new JSONObject();
  17. response.setCharacterEncoding("gbk");
  18. response.setContentType("text/html; charset=GBK");
  19. out = response.getWriter();
  20. System.out.println(JSONArray.fromObject(list).toString());
  21. out.print(JSONArray.fromObject(list).toString());
  22. out.close();
  23. } catch (IOException e) {
  24. e.printStackTrace();
  25. }
  26. }

  Service处理如下

  1. public List<Map<String, Object>> getNodes(String id) {
  2. return dao.getNodes(id);
  3. }

  Dao处理如下

  1. public List<Map<String, Object>> getNodes(String id) {
  2. List<String> params = new ArrayList<String>();
  3. StringBuffer querySQL = new StringBuffer();
  4. querySQL.append("SELECT tt.wsystemcode id,tt.wsystemname name");
  5. querySQL.append(",(SELECT COUNT (1) cnt FROM datacenter_v3.tcode.t_cod_wsystem t WHERE t.parentcode = tt.wsystemcode) cnt");
  6. querySQL.append(" FROM datacenter_v3.tcode.t_cod_wsystem tt");
  7. querySQL.append(" WHERE 1=1");
  8. if(Tool.isNull(id)){
  9. querySQL.append(" and tt.parentcode is null");
  10. }else{
  11. querySQL.append(" and tt.parentcode = ?");
  12. params.add(id);
  13. }
  14. querySQL.append(" GROUP BY tt.wsystemcode,tt.wsystemname");
  15. querySQL.append(" ORDER BY tt.wsystemcode");
  16.  
  17. return search(querySQL.toString(), params.toArray());
  18. }

  

Ztree异步树加载的更多相关文章

  1. 爱上MVC3~MVC+ZTree大数据异步树加载

    回到目录 理论部分: MVC+ZTree:指在.net MVC环境下进行开发,ZTree是一个jquery的树插件 大数据:一般我们系统中,有一些表结构属于树型的,如分类,地域,菜单,网站导航等等,而 ...

  2. MVC小系列(十四)【MVC+ZTree大数据异步树加载】

    ZTree是一个jquery的树插件可以异步加载 第一步定义一个标准的接口(指的是与ztree默认的数据元素保持一致) /// <summary> /// ZTree数据结构 /// &l ...

  3. MVC+ZTree大数据异步树加载

    实例部分: 首先是为ZTree提供的数据规范,定义一个标准的接口,这样对于前台调用是清楚的,简单的,因为它返回的JSON数据将与ZTree默认的数据元素保持一致 /// <summary> ...

  4. Jquery插件 之 zTree树加载

    原文链接:https://blog.csdn.net/jiaqu2177/article/details/80626730 zTree树加载 zTree 是一个依靠 jQuery 实现的多功能 “树插 ...

  5. flask+sqlite3+echarts3+ajax 异步数据加载

    结构: /www | |-- /static |....|-- jquery-3.1.1.js |....|-- echarts.js(echarts3是单文件!!) | |-- /templates ...

  6. javascript 异步模块加载 简易实现

    在javascript是没有类似java或其他语言的模块概念的,因此也不可能通过import或using等关键字来引用模块,这样造成了复杂项目中前端代码混乱,变量互相影响等. 因此在复杂项目中引入AM ...

  7. Angularjs 异步模块加载项目模板

    ng-lazy-module-seed(Angularjs 异步模块加载项目模板) 相信做过SPA项目的朋友都遇到过这个问题:页面初始化时需要加载文件太大或太多了,许多文件加载后很可能不会运行到,这是 ...

  8. 页面全部加载完毕和页面dom树加载完毕

    dom树加载完毕 $(document).ready()//原生写法document.ready = function (callback) {            ///兼容FF,Google   ...

  9. Dojo初探之1:AMD规范,编写符合AMD规范(异步模块加载机制)的模块化JS(其中dojo采用1.11.2版本)

    一.AMD规范探索 1.AMD规范(即异步模块加载机制) 我们在接触js的时候,一般都是通过各种function来定义一些方法,让它们帮我们做一些事情,一个js可以包含很多个js,而这些functio ...

随机推荐

  1. Oracle自动执行任务(存储过程)

    Oracle自动执行任务(存储过程) SQL> variable job number;SQL> begin2 dbms_job.submit(:job,'存储过程名;',sysdate, ...

  2. ORA-32001: 已请求写入 SPFILE, 但是在启动时未指定 SPFILE

    SQL> alter system set smtp_out_server='smtp.126.com' scope=both;alter system set smtp_out_server= ...

  3. python heapq

    这个模块(build-in)实现了一个堆的数据结构,完美的解决了Top-K问题,以后解决Top-K问题的时候,直接把这个模块拿来用就可以了 注意,默认的heap是一个小顶堆! heapq模块提供了如下 ...

  4. 持续集成 之 apache-continuum

    作者:许振坪,http://blog.csdn.net/benkaoya 1.前言 最近在研究持续集成,摸索了很多持续集成的工具,Apache Continuum也包括其中.既然飞过,那就留下点什么吧 ...

  5. 常用Python第三方库 简介

    如果说强大的标准库奠定了python发展的基石,丰富的第三方库则是python不断发展的保证,随着python的发展一些稳定的第三库被加入到了标准库里面,这里有6000多个第三方库的介绍:点这里或者访 ...

  6. 64位windows8的 IIS运行32位COM组件报错的解决

    浏览时报错如下: Microsoft VBScript 运行时错误 错误 '800a01ad'ActiveX 部件不能创建对象: 'sqlcomp.FileSystemObject'/config.a ...

  7. vb socket的使用

    说明:原本在 csdn 博客 写博客的,因为使用的移动宽带,csdn的 博客无法访问,所以先暂时到博客园写博客了 有能解决移动宽带 有部分网站不能访问的问题,请联系我,QQ 809775607 /** ...

  8. 关于继承UITableViewController若干问题

    // // MSHomeCommentTableViewController.m // xiaoqu-ios // // Created by Charlie on 15/7/1. // Copyri ...

  9. 解决Oracle 11gR2 空闲连接过多,导致连接数满的问题

    今天又遇到了11gR2连接数满的问题,以前也遇到过,因为应用那边没有深入检查,没有找到具体原因,暂且认为是这个版本Oracle的BUG吧. 上次的处理办法是用Shell脚本定时在系统中kill  v$ ...

  10. WinSetupFromUSB – Install Windows XP from USB Flash Drive

    http://myeeeguides.wordpress.com/2008/11/15/winsetupfromusb-install-windows-xp-from-usb-flash-drive/ ...