• 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;
    }
  • 相关阅读:
    个人网站上线
    从零开始学C++之虚函数与多态(二):纯虚函数、抽象类、虚析构函数
    Triangle
    Hard problem
    [置顶] Android AlarmManager实现不间断轮询服务
    Python学习入门基础教程(learning Python)--5.1 Python下文件处理基本过程
    编程之美 裴波那楔数列
    130712周赛(CF)
    Python学习入门基础教程(learning Python)--5.2 Python读文件基础
    phantomjs
  • 原文地址:https://www.cnblogs.com/henuyuxiang/p/6677789.html
Copyright © 2020-2023  润新知