/**
* 递归拼凑菜单结构
* @param menuBean
* @param list
/
public void recursionFn(MenuBean menuBean, List list, boolean isFolder){
if(hasChild(menuBean, list)){
menuJsonFormat.append("{id:");
menuJsonFormat.append(String.valueOf(menuBean.getMenu_id()));
menuJsonFormat.append(",firstId:");//idParent parentId
menuJsonFormat.append(String.valueOf(menuBean.getParent_id()));
menuJsonFormat.append(",text:");
menuJsonFormat.append("'"+menuBean.getMenu_name()+"'");
if(menuBean.getMenu_url() != null){
menuJsonFormat.append(",url:");
menuJsonFormat.append("'"+menuBean.getMenu_url()+"'");
}
menuJsonFormat.append(",children:[");
List childList = getChildList(menuBean, list);
for(MenuBean bean : childList){
recursionFn(bean, list, isFolder);
}
menuJsonFormat.append("]},");
}else{
menuJsonFormat.append("{id:");
menuJsonFormat.append(String.valueOf(menuBean.getMenu_id()));
menuJsonFormat.append(",firstId:");
menuJsonFormat.append(String.valueOf(menuBean.getParent_id()));
menuJsonFormat.append(",text:");
menuJsonFormat.append("'"+menuBean.getMenu_name()+"'");
if(menuBean.getMenu_url() != null){
menuJsonFormat.append(",url:");
menuJsonFormat.append("'"+menuBean.getMenu_url()+"'");
}
if(!isFolder)
menuJsonFormat.append(",leaf:true},");
else
menuJsonFormat.append("},");
}
}
/*
* 判断是否有子节点
* @param menuBean
* @param list
* @return
/
public boolean hasChild(MenuBean menuBean, List list) { // 判断是否有子节点
return getChildList(menuBean,list).size() > 0 ? true : false;
}
/*
* 根据MenuBean menuBean中的menu_id来获取子菜单list
* @param menuBean
* @param list
* @return
/
public List getChildList(MenuBean menuBean, List list){
List childList = new ArrayList();
for(MenuBean bean : list){
int menu_id = menuBean.getMenu_id();
int parent_id = bean.getParent_id();
if(menu_id == parent_id)
childList.add(bean);
}
return childList;
}
/*
* 生成最终的Json格式
* @param returnStr
* @return
*/
public String modifyStr(String returnStr) {// 修饰一下才能满足Extjs的Json格式
return ("[" + returnStr + "]").replaceAll(",]", "]");
}