给你一个用三大框架实现的递归树形菜单。参考一下,不懂得地方可以问我、public List<UserMenuTree> syslogin(Purview purview){
List<UserMenuTree> nodes=Lists.newArrayList();
for(Purview parent:purview.getChildren()){
UserMenuTree parentNode=new UserMenuTree();
parentNode.setUrl(parent.getPurUrl());
parentNode.setId(parent.getId());
parentNode.setText(parent.getPurName());
parentNode.setIcon("/ebike/bike/"+parent.getPurIco());
parentNode.setChildren(syslogin(parent));
parentNode.setLeaf(false);
if(parentNode.getChildren().size()==0) parentNode.setLeaf(true);
nodes.add(parentNode);
}
return nodes;
}
List<UserMenuTree> nodes=Lists.newArrayList();
for(Purview parent:purview.getChildren()){
UserMenuTree parentNode=new UserMenuTree();
parentNode.setUrl(parent.getPurUrl());
parentNode.setId(parent.getId());
parentNode.setText(parent.getPurName());
parentNode.setIcon("/ebike/bike/"+parent.getPurIco());
parentNode.setChildren(syslogin(parent));
parentNode.setLeaf(false);
if(parentNode.getChildren().size()==0) parentNode.setLeaf(true);
nodes.add(parentNode);
}
return nodes;
}
我要的是级别。
parentNode.setChildren(syslogin(parent));运行到这的时候,循环一次就是一级,直到循环完毕。
我要的是级别。
parentNode.setChildren(syslogin(parent));运行到这的时候,循环一次就是一级,直到循环完毕。是这样的,1.1.1是3级,输出3。 2.1是2级,输出2。 2.1.1也是3级,输出3。
1.100.100也都是3级,输出3.
我要的是级别。
parentNode.setChildren(syslogin(parent));运行到这的时候,循环一次就是一级,直到循环完毕。是这样的,1.1.1是3级,输出3。 2.1是2级,输出2。 2.1.1也是3级,输出3。
1.100.100也都是3级,输出3.
if(parentNode.getChildren().size()==0) parentNode.setLeaf(true);
说明还有没有子节点,你声明变量a,每次进来循环就+1,当没有子节点的时候,输出a。这不就得到你要的级别了?
我要的是级别。
parentNode.setChildren(syslogin(parent));运行到这的时候,循环一次就是一级,直到循环完毕。是这样的,1.1.1是3级,输出3。 2.1是2级,输出2。 2.1.1也是3级,输出3。
1.100.100也都是3级,输出3.
if(parentNode.getChildren().size()==0) parentNode.setLeaf(true);
说明还有没有子节点,你声明变量a,每次进来循环就+1,当没有子节点的时候,输出a。这不就得到你要的级别了?那如果循环到1.1.1.1的时候级别是4,再循环1.2的时候级别就是2了,你变量a要如何处理?
我要的是级别。
parentNode.setChildren(syslogin(parent));运行到这的时候,循环一次就是一级,直到循环完毕。是这样的,1.1.1是3级,输出3。 2.1是2级,输出2。 2.1.1也是3级,输出3。
1.100.100也都是3级,输出3.
if(parentNode.getChildren().size()==0) parentNode.setLeaf(true);
说明还有没有子节点,你声明变量a,每次进来循环就+1,当没有子节点的时候,输出a。这不就得到你要的级别了?那如果循环到1.1.1.1的时候级别是4,再循环1.2的时候级别就是2了,你变量a要如何处理?
显示一个4 一个2
我要的是级别。
parentNode.setChildren(syslogin(parent));运行到这的时候,循环一次就是一级,直到循环完毕。是这样的,1.1.1是3级,输出3。 2.1是2级,输出2。 2.1.1也是3级,输出3。
1.100.100也都是3级,输出3.
if(parentNode.getChildren().size()==0) parentNode.setLeaf(true);
说明还有没有子节点,你声明变量a,每次进来循环就+1,当没有子节点的时候,输出a。这不就得到你要的级别了?那如果循环到1.1.1.1的时候级别是4,再循环1.2的时候级别就是2了,你变量a要如何处理?
显示一个4 一个2
可用用数组,或者list。如果传到前台使用还要带标记,就用节点的名字或id做标记 list首选。
我要的是级别。
parentNode.setChildren(syslogin(parent));运行到这的时候,循环一次就是一级,直到循环完毕。是这样的,1.1.1是3级,输出3。 2.1是2级,输出2。 2.1.1也是3级,输出3。
1.100.100也都是3级,输出3.
if(parentNode.getChildren().size()==0) parentNode.setLeaf(true);
说明还有没有子节点,你声明变量a,每次进来循环就+1,当没有子节点的时候,输出a。这不就得到你要的级别了?那如果循环到1.1.1.1的时候级别是4,再循环1.2的时候级别就是2了,你变量a要如何处理?
显示一个4 一个2
可用用数组,或者list。如果传到前台使用还要带标记,就用节点的名字或id做标记 list首选。关键是不知道怎么写。