请教一个关于velocity递归的问题模板如下:
#macro(recur$p_id)
#foreach ($cat in $list)
$cat.name $cat.id $p_id
#if ($cat.pid == $p_id)
  data:$cat.name $cat.id
  #recur($cat.id)#end
#end
#end#recur(0)Catalog.java如下:
public class Catalog {
public Catalog(int id, int pid, String name) {
super();
this.id = id;
this.pid = pid;
this.name = name;
}

private int id;
private int pid;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}数据如下:
List<Catalog> list = new ArrayList<Catalog>();
list.add(new Catalog(1,0,"home"));
list.add(new Catalog(2,0,"news"));
list.add(new Catalog(3,0,"about"));
list.add(new Catalog(4,2,"news-1"));
list.add(new Catalog(5,2,"news-2"));
list.add(new Catalog(6,2,"news-3"));问题进行递归时从第二级就不能出来了。