• Ztree异步树加载


    JSP代码片段

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="text/javascript"
        src="${ctx}/thscommon/javascript/jquery-1.7.2.min.js"></script>
    <script type="text/javascript"
        src="${ctx}/win/javascript/jquery.ztree.core-3.5.js"></script>
    <link rel="stylesheet" href="${ctx}/win/css/zTreeStyle/zTreeStyle.css"
        type="text/css">
    <title>Insert title here</title>
    
    <script type="text/javascript">
        var setting = {
            /* check : {
                enable : true,
                chkStyle : "radio",
                radioType: "id"
            }, */
            async : {
                enable : true,
                url : "${ctx}/common/tree/river!getNodeData.action",
                autoParam : [ "id" ],
                dataFilter : filter
            },
            callback : {
                //beforeClick: beforeClick,
                onClick : onClick
            }
        };
    
        function filter(treeId, parentNode, childNodes) {
            if (!childNodes)
                return null;
            for ( var i = 0, l = childNodes.length; i < l; i++) {
                childNodes[i].name = childNodes[i].name.replace(/.n/g, '.');
            }
            return childNodes;
        }
    
        function onClick(event, treeId, treeNode, clickFlag) {
            var win = art.dialog.open.origin;//来源页面
            win.snstSet(treeNode.id, treeNode.name,$("#idx").val());
            $.dialog.close();
        }
    
        $(document).ready(function() {
            $.fn.zTree.init($("#tree"), setting);
        });
    //-->
    </script>
    </head>
    <body>
        <div class="zTreeDemoBackground left">
            <ul id="tree" class="ztree"></ul>
        </div>
        <input type="hidden" id="idx" name="idx" value="${idx}">
    </body>
    </html>

    action处理如下

    public void getNodeData() {
    		List<Map<String, Object>> nodedata = service.getNodes(this.getId());
    		List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
    		Map<String, Object> tmp = null;
    		for (Map<String, Object> map : nodedata) {
    			tmp = new HashMap<String, Object>();
    			tmp.put("id", map.get("id"));
    			tmp.put("name", map.get("name"));
    			tmp.put("isParent",
    					Integer.valueOf(map.get("cnt").toString()) > 0 ? true
    							: false);
    			list.add(tmp);
    		}
    		try {
    			PrintWriter out;
    			JSONObject jo = new JSONObject();
    			response.setCharacterEncoding("gbk");
    			response.setContentType("text/html; charset=GBK");
    			out = response.getWriter();
    			System.out.println(JSONArray.fromObject(list).toString());
    			out.print(JSONArray.fromObject(list).toString());
    			out.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    

      Service处理如下

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

      Dao处理如下

    public List<Map<String, Object>> getNodes(String id) {
    		List<String> params = new ArrayList<String>();
    		StringBuffer querySQL = new StringBuffer();
    		querySQL.append("SELECT tt.wsystemcode id,tt.wsystemname name");
    		querySQL.append(",(SELECT COUNT (1) cnt FROM datacenter_v3.tcode.t_cod_wsystem t WHERE t.parentcode = tt.wsystemcode) cnt");
    		querySQL.append(" FROM datacenter_v3.tcode.t_cod_wsystem tt");
    		querySQL.append(" WHERE 1=1");
    		if(Tool.isNull(id)){
    			querySQL.append(" and tt.parentcode is null");
    		}else{
    			querySQL.append(" and tt.parentcode = ?");
    			params.add(id);
    		}
    		querySQL.append(" GROUP BY tt.wsystemcode,tt.wsystemname");
    		querySQL.append(" ORDER BY tt.wsystemcode");
    		
    		return search(querySQL.toString(), params.toArray());
    	}
    

      

  • 相关阅读:
    Foxit 出mac 版本啦
    mac 上的latex (有很多链接,侵权请通知,一定删除)
    集合转数组
    select2搜索框查询加遍历
    下拉框回显
    柱状堆积图Echarts
    echarts X轴数据显示不全问题
    Map静态键值对
    如何配置pl/sql (本地客户端)连接远程oracle服务器
    自定义验证jquery.validate
  • 原文地址:https://www.cnblogs.com/fxfly/p/4642221.html
Copyright © 2020-2023  润新知