java ztree json_java递归实现ztree树结构数据展示
//獲得zTree結構的數據(測試AuthInfo)
@RequestMapping("/getAuthInfoTree.action")
public void getAuthInfoTree(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
System.out.println("===========getAuthInfoTree============");
//讀取樹型結構數據
List list=new ArrayList();
//1.查詢pid為0的信息(頂級節點)(找出規律使用遞歸)
//調用遞歸查詢數據
AuthInfo authInfo=new AuthInfo();
authInfo.setAuthId(0);
selectChildrenAuthInfo(authInfo);
//最終結果(在AuthInfo中添加children集合)
List authlist=authInfo.getChildren();
for(AuthInfo au:authlist) {
System.out.println("au="+au);
}
//list.add(authInfoList);
//將list集合轉為JSONArray
JSONArray jsonArray=JSONArray.fromObject(authlist);
request.setAttribute("testTree", jsonArray);
request.getRequestDispatcher("pages/testTree.jsp").forward(request, response);
}
//遞歸查詢方法
/**
* 遞歸自己調用自己,一定要有跳出邏輯
* 方法調用時,參數之間有規律
* @param parent
*/
private void selectChildrenAuthInfo(AuthInfo parent) {
ListchildrenAuthInfoList=authInfoService.selectAuthInfoone(parent.getAuthId());
//集合為空的時候跳出循環
for(AuthInfo authInfo:childrenAuthInfoList) {
selectChildrenAuthInfo(authInfo);
}
parent.setChildren(childrenAuthInfoList);
}
public class AuthInfo {
/**
* 為了獲得zTree數據做如下操作
*
*/
//樹id
private Integer authId;
//樹pid
private Integer parentId;
//樹name
private String authName;
private String authDesc;
private Integer authGrade;
private String authType;
//樹url
private String authUrl;
private String authCode;
private Integer authOrder;
private String authState;
private Integer createBy;
private Date createTime;
private Integer updateBy;
private Date updateTime;
//樹open
private boolean open;
//樹children
private List children=new ArrayList();
//為了關聯二級權限
private List childrenAuth;
}
本文地址:https://blog.csdn.net/likun1239656678/article/details/110295585
如您對本文有疑問或者有任何想說的,請點擊進行留言回復,萬千網友為您解惑!
總結
以上是生活随笔為你收集整理的java ztree json_java递归实现ztree树结构数据展示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Golang——结构体创建与初始化、结构
- 下一篇: 浪潮服务器5112面板灯_SA5112M