【发布时间】:2011-10-29 17:00:19
【问题描述】:
我正在用 Java (Tapestry 5) 构建一个 Web 应用程序。 我想创建一个多级菜单,我可以在其中显示根元素,例如在我的页面顶部和左侧选定的子元素。
为了实现这一点,我想使用这样的树结构:
public class SiteMap {
private List<MenuItem> root;
public class MenuItem {
private String pageFileName;
private String pageNavigationName;
private List<MenuItem> children;
private MenuItem parent;
public MenuItem(String pageFileName, String pageNavigationName, MenuItem parent) {
this.pageFileName = pageFileName;
this.pageNavigationName = pageNavigationName;
this.parent = parent;
}
public String getPageFileName() {
return pageFileName;
}
public String getPageNavigationName() {
return pageNavigationName;
}
public List<MenuItem> getChildren() {
return children;
}
public MenuItem getParent() {
return this.parent;
}
}
}
现在,如果我想基于树中某处的 1 个父项的子项(只有 pageFileName - String)构建一个菜单,该怎么办。我必须递归遍历树才能根据 pageFileName (String) 找到这个父项,这似乎不是一个好方法。
这是(使用树形结构)实现它的正确方法吗?还是有更好的选择? 感谢任何想法和提示!
提前致谢!
内森
【问题讨论】:
标签: java tree navigation