var ClassTreeGridStore = Ext.create('Ext.data.TreeStore', {
     fields: ["id", "text","node","type", "parentId"],
            autoLoad: true,
            proxy: {
                type: 'ajax',
                url: 'dataTree.jsp?action=find',
                actionMethods: { read: 'GET' },//参数会post到页面
                reader: 'json'
            },
            root : {  
                   text : 'root',  
                   id : '-1'  
               },
    });
    var ClassTreeGrid = Ext.create('Ext.tree.Panel', {
        tbar: tbar,
        useArrows: true,
        store: ClassTreeGridStore,
        autoScroll: true,
        multiSelect: false,
        singleExpand: false,
        rootVisible: false,
        columns: [{   //定义tree的列
           xtype: 'treecolumn',
           text: '分类名称',  //显示的表头列名称
           dataIndex: 'text'  //对应store的列字段名称
        }]
        , listeners: {
            //点击行触发事件
            itemclick: function (record, node) {
                //把列的qcid传递给QuesGridStore刷新对应的grid或tree
             ClassTreeGrid.expandAll();
             ClassTreeGrid.collapseAll();
            }
        }
    }); 
public String doPost(JSONArray jArray) throws UnsupportedEncodingException{
  StringBuilder jsonStr = new StringBuilder();
      String jsonChildren ="";
      String jsonData = "";
      
      String jsonTwo = "";
      JSONArray arraya=new JSONArray();
      for (Integer i = 0; i < jArray.size(); i++ ) {
       JSONObject job = jArray.getJSONObject(i);
          if (job.getString("parentid").equals("0")){
              jsonStr.append("{\"id\":");
              jsonStr.append("\"" + job.getString("id") + "\"");
              jsonStr.append(",\"text\":");
              jsonStr.append("\"" + job.getString("text") + "\"");
              jsonStr.append(",\"parentid\":");
              jsonStr.append("\"" + job.getString("parentid") + "\""); 
              jsonStr.append(",\"node\":");
              jsonStr.append("\"" + job.getString("node")  + "\"");
              jsonStr.append(",\"type\":");
              jsonStr.append("\"" + job.getString("type") + "\"");
              jsonStr.append(",\"leaf\":false");
              jsonStr.append(",\"children\":");  
              jsonStr.append(getChildren(job.getString("id"), jsonChildren, jArray));
              jsonStr.append("},");
          }
      }
      jsonTwo = String.valueOf( ("["+jsonStr+"]}").replaceAll(",]", "]"));
      jsonData =String.valueOf(jsonTwo).replaceAll("\"leaf\":false,\"children\":\\[\\]", "\"leaf\":true");
      System.out.println(jsonData);
      
return jsonData;
  }
private static String getChildren(String id, String str, JSONArray jArray) {
      Boolean isFind = Boolean.FALSE;
      for (Integer i = 0; i < jArray.size(); i++ ) {
       JSONObject job = jArray.getJSONObject(i);
          if (id.equals(job.getString("parentid"))) {
              str += "[{\"id\":\"" + job.getString("id") +"\",\"text\":\"" +job.getString("text")+"\",\"parentid\":\""+job.getString("parentid")+"\",\"node\":\""+job.getString("node")+"\",\"type\":\""+job.getString("type")+"\",\"leaf\":false,\"children\":[" + getChildren(job.getString("id"), str, jArray) + "]}],";
              isFind = Boolean.TRUE;
          }
      }
      if (!isFind) {
          return null;
      } else {
          return str;
      }
  }