日期:2014-05-16 浏览次数:20477 次
?????? zTree 是一个依靠 jQuery 实现的多功能 “树插件”。通过对json数据的支持,是它他用起来特别的方便,下面就来介绍一下最简单的应用。
?
?jsp页面:
?
?
首先引入jquery的js文件
<script type="text/javascript" src="<%=basePath1%>module/taskMng/lhgdialog/jquery-1.7.1.min.js"></script>
??
然后引入ztree需要的js文件?
??????????????
<link rel="stylesheet" href="<%=basePath1>js/demo/zTreeStyle/zTreeStyle.css" type="text/css"> <script type="text/javascript" src="<%=basePath1%>js/demo/jquery.ztree-2.6.js"></script>
?
 //初始化ztree设置
var zTree1;   
      var  setting = {   
        isSimpleData : true,   //是否采用简单 Array 格式,true表示采用
        treeNodeKey : "id",   
        treeNodeParentKey : "pId"//如果为true必须声明父子关系
      };   
/*
简单 Array 格式
var treeNodes = [   --%>
      {"id":80, "pId":01, "name":"test1"},         {"id":81, "pId":80, "name":"test11"},         {"id":82, "pId":80, "name":"test12"},          {"id":111, "pId":81, "name":"test111"}       ];   
*/
?
//从后台读取数据
var treeNodes = new Array();
      $(function(){
             var url="userListAction!getOrgJson.action";
	$.ajax({
		url: url,
		type:'post',
		async: false , 
		success: function(data){
		var msg = eval('(' + data + ')');
					
		$.each(msg,function(i,item){
		treeNodes.push(new Node(item.id,item.parentId,item.deptName));
			});
			//alert(treeNodes[0].pId);
		 		}
			});
	});
		function Node(id,pid,name){
			this.id=id;
			this.pId=pid;
			this.name=name;
									
		}
??
//一切准备好后初始化树
 $(document).ready(function(){   
        zTree1 = $("#treeDemo").zTree(setting, treeNodes);   
     }); 
//将ul标签加到想展示树的位置
<ul id="treeDemo" class="tree"></ul>
?
以上就是一个简单的例子,后台转换json我就不写了很简单,这里我还用了javascript面向对象的编程思想,new了一个json数据对象,传入到节点中。第一次写,谢谢大家支持
public void getOrgJson(){
	try {
	deptDictWrappers = deptService.getCompanyDept(getLoginUserCompanyId());//查询出的list
	String jsonStr  = net.sf.json.JSONArray.fromObject(deptDictWrappers).toString();//转换成json字符串
			
	HttpServletResponse response = getResponse();
		response.setCharacterEncoding("utf8");
		PrintWriter out  = response.getWriter();
			
	out.println(jsonStr);//输出到前台
	} catch (IOException e) {
		log.error(e,e);
	} catch (Exception e) {
		log.error(e,e);
	}
		
	}