一步步用zTree(2)

结果如上

代码页面如下


<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
%>
<!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" />
<link href="<%=basePath%>styles/bootstrap/bootstrap.css"
	rel="stylesheet" />
<link href="<%=basePath%>scripts/zTree/zTreeStyle/zTreeStyle.css" rel="stylesheet" />
<title>zTree use json Data</title>
</head>
<body>
	<div class="container">
		<div class="row">
			<div>
				<ul id="treeDemo" class="ztree">
					
				</ul>
			</div>
		</div>	
	</div>
	<script src="<%=basePath%>scripts/jquery/jquery-1.8.3.js" type="text/javascript"></script>
	<script type="text/javascript" src="<%=basePath%>scripts/zTree/jquery.ztree.core-3.5.js"></script>
	<script type="text/javascript">
	var setting = {
			data: {
				key: {
					name:"groupName"
				},
				simpleData: {
					idKey:"id",
					pIdKey:"parentId",
					rootPId:null,
					enable: true,
				}
			}
		};

		var zNodes =[];
		$(function(){
			var url = '<%=basePath%>group/group-json-tree.action';
			$.post(url,function(data){
				zNodes = data.groups;
				console.log(zNodes);
				$.fn.zTree.init($("#treeDemo"), setting, zNodes);
			});
		});
	</script>
</body>
</html>
console.log(zNodes);
打印出的是一个数组,数组里面是


再点击进去其中一项

@Result(name = "success",type = "json")
public class GroupJsonTreeAction extends BaseAction {

	private static final long serialVersionUID = 8291259328867475582L;

	private List<Group> groups;
	
	@Override
	public String execute() throws Exception {
		groups = getWholeGroupTree();
		return SUCCESS;
	}

	public List<Group> getGroups() {
		return groups;
	}

	public void setGroups(List<Group> groups) {
		this.groups = groups;
	}
}
很明显,只要返回的东东是个集合就好办了。

对于有父亲孩子关系的一个类,我们可以用一个递归将父亲下所有的孩子一个个加入到我们创建的集合中

public List<Group>createTree(Group root,List<Group> groups) {
        groups.add(root);
        if (root.hasChildren()) {
            for (Group child : root.getImmediateChildren()) {
                createTree(child,groups);
            }
        }
        return groups;
    }


root.getImmediateChildren()表示拿到所有的直接孩子


转载于:https://my.oschina.net/liangzhenghui/blog/103579

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值