最近参与一个功能, 有一个需求是要将菜单一次性展示在前台,但是菜单是分级的,最多可以有十级,不同的根菜单,又有着不同的深度。想了一些方法,但是不仅后台包装麻烦,前台拿值也麻烦。于是尝试用递归遍历,实现这颗树。
首先第一步先创建一个实体类,TreeNode包装与表对应的实体类,这里对应的实体类的是PrProductEntity
import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
public class PriceNodeTree implements Serializable{
private static final long serialVersionUID = 724163273641931548L;
private Integer pid;
private PrProductPriceEntity node;
private List<PriceNodeTree> nodes = new LinkedList<PriceNodeTree>();
public Integer getPid() {
return pid;
}
public void setPid(Integer pid) {
this.pid = pid;
}
public PrProductPriceEntity getNode() {
return node;
}
public void setNode(PrProductPriceEntity node) {
this.node = node;
}
public List<PriceNodeTree> getNodes() {
return nodes;
}
public voi