jfinal树形菜单java代码怎么写 Java递归如何正确输出树形菜单
jfinal树形菜单java代码怎么写
这个问题问的好,这个问题就像java的私有属性能不能够被访问一样扯淡。
规定就是那么规定的,你再去刨根问底的他到底是怎么实现的,没有意义,不过你既然非要知道,那么java的注解其实就是对字符进行一些检查而已,看到注释的符号就不再编译,这。
Java递归如何正确输出树形菜单
首先我们要建立树节点的类:
[java] view plain copy
package com.tree
public class Node {
private Integer id
private Integer parentId
private String name
private String link
public Integer getId() {
return id
}
public void setId(Integer id) {
this.id = id
}
public Integer getParentId() {
return parentId
}
public void setParentId(Integer parentId) {
this.parentId = parentId
}
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}
public String getLink() {
return link
}
public void setLink(String link) {
this.link = link
}
}
输出树形菜单类:
[java] view plain copy
package com.tree
import java.util.ArrayList
import java.util.List
public class Tree {
private StringBuffer html = new StringBuffer()
private List
public Tree(List
this.nodes = nodes
}
public String buildTree(){
html.append("")
")
for (Node node : nodes) {
Integer id = node.getId()
if (node.getParentId() == ) {
html.append("
build(node)
}
}
html.append("
return html.toString()
}
private void build(Node node){
List
if (!children.isEmpty()) {
html.append("
")
")
for (Node child : children) {
Integer id = child.getId()
html.append("
build(child)
}
html.append("
}
}
private List
List
Integer id = node.getId()
for (Node child : nodes) {
if (id.equals(child.getParentId())) {
children.add(child)
}
}
return children
}
}