1. 程式人生 > >SpringMVC+easyUI生成機構樹

SpringMVC+easyUI生成機構樹

//根據orgid查詢機構資訊

public List<OrgBean> getList(int orgid){
List<OrgBean> listorgList = orgService.getOrgById(orgid);//獲取機構資訊,簡單查詢select * from....
return listorgList;
}

//對子機構進行遞迴,若有孩子節點,則繼續生成json格式

public JSONArray getJsonArray(List<OrgBean> list) throws JSONException{
JSONArray array = new JSONArray();
JSONObject obj =null;
for (Iterator<OrgBean> it = list.iterator(); it.hasNext();) {
OrgBean object = (OrgBean) it.next();
obj = new JSONObject();
obj.put("id", object.getOrgid());
obj.put("text", object.getOrgname());
obj.put("iconCls", "icon-org");
//obj.put("state", "closed");
//判斷是否有孩子節點,如果有孩子節點,遞迴。
if (getList(object.getOrgid()).size()!=0) {
obj.put("children", getJsonArray(getList(object.getOrgid())));
}
array.put(obj);
}
return array;
}

@ResponseBody
@RequestMapping(value = "/org_tree_json", method = RequestMethod.POST,produces = "application/json; charset=utf-8")
public String createJson(HttpServletRequest request,HttpServletResponse response) {
JSONArray array = new JSONArray();
JSONObject json = new JSONObject();
List<OrgBean> list=null;
//取到頭結點
List<OrgBean> listhead = orgService.getOrgByLevel(1);
//迴圈插入子節點
for (Iterator<OrgBean> iterator = listhead.iterator(); iterator
.hasNext();) {
OrgBean object = (OrgBean) iterator.next();
json.put("id", object.getOrgid());//標識
json.put("text", object.getOrgname());//顯示內容
json.put("iconCls", "icon-orgmain");//用於圖示
//json.put("state", "closed");
list = getList(object.getOrgid());
if (list.size()!=0) {
//進入方法,遞迴尋找children
json.put("children", getJsonArray(list));
}
}
array.put(json);//需要注意,最後需要新增到JSONArray中,如果不新增,用sysout列印測試,也會有[],但是這不是easyUI需要的格式。

return array.toString();
}

注意:註解需要加上method = RequestMethod.POST,produces = "application/json; charset=utf-8",返回JSON格式不會出現亂碼。