Extjs Json树封装

public class TreeUtil {
 public static List<CTree>getTree(List<Tree> list){
  List<CTree> tree= new ArrayList<CTree>();
  List<CTree> parent= new ArrayList<CTree>();
  List<CTree> chil =new ArrayList<CTree>();
  if(list==null){
   return tree;
  }
  for(Tree ca:list){
   if(ca.getLeaf()==0){//取出所有根节点
    CTree pt=new CTree();
    pt.setId(ca.getId());
    pt.setCid(ca.getCid());
    pt.setCls(ca.getCls());
    pt.setText(ca.getText());
    parent.add(pt);
   }else{//取出所有子节点
    CTree ch=new CTree();
    ch.setId(ca.getId());
    ch.setCid(ca.getCid());
    ch.setCls(ca.getCls());
    ch.setText(ca.getText());
    ch.setUrl(ca.getUrl());
    ch.setLeaf(ca.getLeaf()==1?true:false);
    chil.add(ch);
   }
  }
  for(CTree pr:parent){
   List<CTree> child= new ArrayList<CTree>();
   for(CTree cd:chil){
    if(pr.getCid()==cd.getCid()){
     child.add(cd);
     pr.setChildren(child);
    }
   }
   tree.add(pr);
  }
 
  return tree;
  
 }
}

 

 

 

package com.byd.entity;

import java.io.Serializable;

@SuppressWarnings("serial")
public class Tree implements Serializable{
 private String text;
 private int id;
 private int leaf;
 private String cls;
 private String url;
 private int cid;//类别ID

 public Tree(){
  
 }
 /**
  * @return the text
  */
 public String getText() {
  return text;
 }
 /**
  * @param text the text to set
  */
 public void setText(String text) {
  this.text = text;
 }
 
 
 /**
  * @return the cls
  */
 public String getCls() {
  return cls;
 }
 /**
  * @param cls the cls to set
  */
 public void setCls(String cls) {
  this.cls = cls;
 }
 /**
  * @return the cid
  */
 public int getCid() {
  return cid;
 }
 /**
  * @param cid the cid to set
  */
 public void setCid(int cid) {
  this.cid = cid;
 }
 /**
  * @return the leaf
  */
 public int getLeaf() {
  return leaf;
 }
 /**
  * @param leaf the leaf to set
  */
 public void setLeaf(int leaf) {
  this.leaf = leaf;
 }

 /**
  * @return the id
  */
 public int getId() {
  return id;
 }
 /**
  * @param id the id to set
  */
 public void setId(int id) {
  this.id = id;
 }
 /**
  * @return the url
  */
 public String getUrl() {
  return url;
 }
 /**
  * @param url the url to set
  */
 public void setUrl(String url) {
  this.url = url;
 }
}

posted @ 2011-06-16 10:22  上善¤若水  阅读(85)  评论(0编辑  收藏  举报