zoukankan      html  css  js  c++  java
  • Jquery树控件ZTree异步加载

    这里面主要设计ztree的setting变量的async属性设置:

    var setting = {
           async: {
               enable: true,
               url:InitServiceIpsData.action,
               autoParam:[id, name],
               dataFilter: filter      
           },

    当点击展开树节点时,会请求url指定的action获取子节点数据,然后绑定到ztree上。

    注意这里后台action返回的是JSON字符串,而ztree绑定新的节点数据只接收数组,所以需要在绑定前用filter函数进行数据清洗转换操作,将字符串转换为数组:

    //过滤异步加载ztree时返回的数据 
    function filter(treeId, parentNode, childNodes) {
        if (!childNodes) 
            return null;        
        childNodes = eval((+childNodes+));  //必须转换为[{id:103,pId:1,name:'子节点3'}];这样的格式 
        return childNodes;
    }    

    这样点击展开ztree树节点时,就会请求action获取子节点数据并绑定了。

    下面是后台action的一个实现:

    public String InitServiceIpsData(){
      HttpServletRequest request = ServletActionContext.getRequest();
      String id = request.getParameter(id);
      String name = request.getParameter(name);
      System.out.println(请求获取+name+的ip列表);
       List<hashmap<string,object>> list = new ArrayList<hashmap<string,object>>();          
      for(int i = 1; i <= 2; i++){  
        HashMap<string,object> hm = new HashMap<string,object>();            
        hm.put(id, id + 0 + i);
           hm.put(pId, id);
        hm.put(name, name + _IP_ + i);
        hm.put(isParent, false);
        list.add(hm);
      }  
               
      JSONArray finalJson = JSONArray.fromObject(list);
      this.initServiceIpsData = finalJson.toString();
      return SUCCESS;
    }
  • 相关阅读:
    电路原理图分析
    GPIO学习——用户空间操作
    在Android上运行Java和C程序
    Android命令行工具学习总结
    Android蓝牙学习笔记
    33 把数组排成最小的数
    233 Number of Digit One
    32 从1到n整数中1出现的次数
    31 连续子数组的最大和
    《大型网站技术架构》学习笔记
  • 原文地址:https://www.cnblogs.com/henuyuxiang/p/6677789.html
Copyright © 2011-2022 走看看