easyUI构造满足tree要求的json

该博客介绍了如何使用Java创建一个方法,通过递归处理从数据库获取的数据,将其转换成符合EasyUI Tree组件要求的JSON格式。内容涉及到数据结构如id、pid、text等属性,以及处理父子节点关系的递归逻辑。
摘要由CSDN通过智能技术生成
<span style="font-size:18px;">private String id ; 
	 private String pid ; 
	 private String text ; 
	 private String iconCls ;
	 private String state ; //open or closed
	 private String checked ;
	 private String isLeaf; //Y or N
	 private String remark;
	 private String modelId;
	 private JSONObject attributes ; 
	 private ArrayList<TreeJsonDTO> children;
	 //private List<TreeJsonDTO> children = new ArrayList<TreeJsonDTO>() ;
	 private ArrayList<TreeJsonDTO> recList;
	 
	 
	 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 getText() {
		return text;
	}

	public void setText(String text) {
		this.text = text;
	}

	public String getIconCls() {
		return iconCls;
	}

	public void setIconCls(String iconCls) {
		this.iconCls = iconCls;
	}

	public String getState() {
		return state;
	}

	public void setState(String state) {
		this.state = state;
	}

	public String getChecked() {
		return checked;
	}

	public void setChecked(String checked) {
		this.checked = checked;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	
	public ArrayList<TreeJsonDTO> getRecList() {
		return recList;
	}

	public void setRecList(ArrayList<TreeJsonDTO> recList) {
		this.recList = recList;
	}
	
	public String getIsLeaf() {
		return isLeaf;
	}

	public void setIsLeaf(String isLeaf) {
		this.isLeaf = isLeaf;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public ArrayList<TreeJsonDTO> getChildren() {
		return children;
	}

	public void setChildren(ArrayList<TreeJsonDTO> children) {
		this.children = children;
	}
	
	public JSONObject getAttributes() {
		return attributes;
	}

	public void setAttributes(JSONObject attributes) {
		this.attributes = attributes;
	}
	
	public String getModelId() {
		return modelId;
	}

	public void setModelId(String modelId) {
		this.modelId = modelId;
	}

private static boolean getChildrenNodes(List<TreeJsonDTO> parentnodes, TreeJsonDTO node) {
	boolean isChild=false;
    for (int i = parentnodes.size() - 1; i >= 0; i--) {
        TreeJsonDTO pnode = parentnodes.get(i);
        if (pnode.getId().equals(node.getPid())) {
        	pnode.setState("closed");
        	if(null==pnode.getChildren()){
        		ArrayList<TreeJsonDTO> childList=new ArrayList<TreeJsonDTO>();
        		childList.add(node);
        		pnode.setChildren(childList);
        	}else{
        		pnode.getChildren().add(node);
        	}
            return true;
        }else if(null!=pnode.getChildren()){
        	if(getChildrenNodes(pnode.getChildren(),node))
        		return true;
        }
    }
    return isChild;
}

public static List<TreeJsonDTO> initTree(List<TreeJsonDTO> tree,List<TreeJsonDTO> list) {
	TreeJsonDTO node = new TreeJsonDTO();
	List<TreeJsonDTO> treelist = new ArrayList<TreeJsonDTO>();
	
	if (list != null && list.size() > 0) {
		for(int i=0;i<list.size();i++){
			node=list.get(i);
			if("0".equals(node.getPid())){
				tree.add(node);
			}else{
				if(!getChildrenNodes(tree,node))
					treelist.add(node);
			}
		}
		initTree(tree,treelist);
		
	}
	return tree;
}</span>
使用递归调用,将数据库查询的数据转换为easyUI中Tree能够识别的json。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值