当前位置:首页>开发>正文

jfinal树形菜单java代码怎么写 Java递归如何正确输出树形菜单

2023-05-31 04:49:10 互联网 未知 开发

 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 nodes

public Tree(List nodes){
this.nodes = nodes
}

public String buildTree(){
html.append("

    ")
    for (Node node : nodes) {
    Integer id = node.getId()
    if (node.getParentId() == ) {
    html.append("
  • " node.getName() "
  • ")
    build(node)
    }
    }
    html.append("
")
return html.toString()
}

private void build(Node node){
List children = getChildren(node)
if (!children.isEmpty()) {
html.append("
    ")
    for (Node child : children) {
    Integer id = child.getId()
    html.append("
  • " child.getName() "
  • ")
    build(child)
    }
    html.append("
")
}
}

private List getChildren(Node node){
List children = new ArrayList()
Integer id = node.getId()
for (Node child : nodes) {
if (id.equals(child.getParentId())) {
children.add(child)
}
}
return children
}
}

最新文章

随便看看