//获得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
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!