zoukankan      html  css  js  c++  java
  • ztree学习之异步加载节点(一)

    ztreedemo.jsp:

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>  
    <%  
    String path = request.getContextPath();  
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
    %>  
      
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
    <html>  
      <head>  
        <base href="<%=basePath%>">  
          
        <title>My JSP 'ztreedemo.jsp' starting page</title>  
          
        <meta http-equiv="pragma" content="no-cache">  
        <meta http-equiv="cache-control" content="no-cache">  
        <meta http-equiv="expires" content="0">      
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
        <meta http-equiv="description" content="This is my page">  
        <link rel="stylesheet" href="<%=basePath%>/ztree/css/demo.css" type="text/css">  
        <link rel="stylesheet" href="<%=basePath%>/ztree/css/zTreeStyle/zTreeStyle.css" type="text/css">  
        <script type="text/javascript" src="<%=basePath%>/ztree/js/jquery-1.4.4.min.js"></script>  
        <script type="text/javascript" src="<%=basePath%>/ztree/js/jquery.ztree.core-3.5.js"></script>  
        <script type="text/javascript" src="<%=basePath%>/js/test/ztreedemo.js"></script>  
      </head>  
        
      <body>  
        <ul id="treeDemo" class="ztree"></ul>  
      </body>  
    </html>  

    ztreedemo.js:

    $(document).ready(function(){  
        initMyZtree();  
    });  
      
    var zNodes="";  
    var setting = {  
        view: {  
            selectedMulti: false,  
            fontCss: setFontCss  
        },  
        async: {  
            enable: true,  
            url:"getZtreeData",  
            autoParam:["id"]  
        },  
        callback: {  
            beforeClick: beforeClickZtree  
        }  
    };  
      
    function initMyZtree(){  
        $.ajax({                 
            type: "POST",                 
            dataType: "json",                 
            url: 'getZtreeData',     
            success: function(data) {     
                zNodes=data;  
                $.fn.zTree.init($("#treeDemo"), setting, zNodes);  
            }     
        });    
          
    }  
      
    //单击事件  
    function beforeClickZtree(treeId, treeNode){  
        alert(treeNode.id+","+treeNode.name);  
    }  
      
    //设置字体  
    function setFontCss(treeId, treeNode) {  
        if(treeNode.level==0){  
            return {'font-weight':'bold','color':'red'};  
        }else if(treeNode.level==1){  
            return {'font-weight':'bold','color':'green'};  
        }else if(treeNode.level==2){  
            return {'font-weight':'bold','color':'blue'};  
        }else{  
            return {};  
        }  
    };  

    CZTestAction.java:

    package com.cz.action;  
      
    import java.io.IOException;  
    import java.io.PrintWriter;  
    import java.sql.ResultSet;  
    import java.sql.SQLException;  
    import java.util.ArrayList;  
    import java.util.List;  
      
    import javax.servlet.http.HttpServletResponse;  
      
    import net.sf.json.JSONArray;  
      
    import org.apache.struts2.ServletActionContext;  
      
    import com.cz.model.TreeNode;  
    import com.cz.util.SqlHelper;  
    import com.opensymphony.xwork2.ActionSupport;  
      
    public class CZTestAction extends ActionSupport{  
        private String id;  
      
        public String getId() {  
            return id;  
        }  
      
        public void setId(String id) {  
            this.id = id;  
        }  
      
      
        /** 
         * @author chenzheng 
         * @since 2013-8-21 
         * @Description: ztree测试 
         * @throws 
         * @return 
         * String 
         */  
        public String getZtreeData(){  
            System.out.println("*********"+id+"**********");  
            if("null".equals(id)||"".equals(id)||id==null){  
                id="0";  
            }  
            String sql="select t.jgid,t.jgmc,t.fjgid,t.jgbm,(select count(*) from sys_dept sd where sd.fjgid=t.jgid) as ispar from SYS_DEPT t where t.fjgid="+id;  
            ResultSet rs=SqlHelper.executeQuery(sql, null);  
            JSONArray jarray=new JSONArray();  
            List<TreeNode> list=new ArrayList<TreeNode>();  
            try {  
                while(rs.next()){  
                    TreeNode tnode=new TreeNode();  
                    tnode.setId(rs.getString(1));  
                    tnode.setName(rs.getString(2));  
                    tnode.setpId(rs.getString(3));  
                    //判断当前节点是否还有子节点  
                    if(Integer.parseInt(rs.getString(5))>0){  
                        tnode.setIsParent(true);  
                        tnode.setHasChild(true);  
                    }else{  
                        tnode.setIsParent(false);  
                        tnode.setHasChild(false);  
                    }  
                    list.add(tnode);  
                }  
            } catch (SQLException e) {  
                e.printStackTrace();  
            }  
            jarray.addAll(list);  
            System.out.println(jarray.toString());  
            HttpServletResponse response = ServletActionContext.getResponse();  
            response.setCharacterEncoding("utf-8");  
            PrintWriter pw = null;  
            try {  
                pw = response.getWriter();  
                pw.write(jarray.toString());  
            } catch (IOException e) {  
                e.printStackTrace();  
            }  
            pw.flush();  
            pw.close();  
            return null;  
        }  
    }  

    TreeNode.java:

    package com.cz.model;  
      
    public class TreeNode {  
      
        private String id;  
        private String pId;  
        private String name;  
        private Boolean isParent;  
        private Boolean hasChild;  
        public String getId() {  
            return id;  
        }  
        public void setId(String id) {  
            this.id = id;  
        }  
        public String getpId() {  
            return pId;  
        }  
        public void setpId(String pId) {  
            this.pId = pId;  
        }  
        public String getName() {  
            return name;  
        }  
        public void setName(String name) {  
            this.name = name;  
        }  
        public Boolean getIsParent() {  
            return isParent;  
        }  
        public void setIsParent(Boolean isParent) {  
            this.isParent = isParent;  
        }  
        public Boolean getHasChild() {  
            return hasChild;  
        }  
        public void setHasChild(Boolean hasChild) {  
            this.hasChild = hasChild;  
        }    
    }  

    效果图:

    本文转自:http://xiaoxiaomuyu.iteye.com/blog/1929490

  • 相关阅读:
    javascirpt Scoket
    黑马程序员面试题(一)交通灯管理系统
    中软国际实习总结
    黑马程序员Java基础正则表达式
    黑马程序员Java基础加强Java高新技术
    黑马程序员JAVA基础GUI
    面试题(二)银行业务调度系统
    黑马程序员JAVA基础IO流之File 类
    黑马程序员JAVA基础IO流其他类
    黑马程序员Java基础网络编程
  • 原文地址:https://www.cnblogs.com/dreammyle/p/4018331.html
Copyright © 2011-2022 走看看