日期:2014-05-16 浏览次数:20478 次
?????? 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);
}
}