我对 Java 很陌生,所以请耐心等待。我有一个类,它必须获取页面的父级并返回它。当我导航到一个节点的最顶部时,我得到一个空指针异常,它是读取为(Page page = to........ )的行我明白为什么,因为在顶部节点没有父节点。如何如果用户确实导航到顶级节点,我是否会阻止我的代码生成错误并优雅地显示一条消息。
班级代码:
public class Pages {
public static List<Page> getPath(Page from, Page to) {
if (from == null || to == null) throw new IllegalArgumentException();
List<Page> path = new ArrayList<Page>();
for (Page page = to.getParent(), last = from.getParent(); page != null && !(page.getPath().equals(last.getPath())); page = page.getParent())
path.add(page);
Collections.reverse(path);
return path.contains(from) ? path : null;
}
}
JSP 代码:
Page rootPage = resourceResolver.adaptTo(PageManager.class).getPage(properties.get("rootNode",Page)currentPage).getPath()));
List<Page> listPages = Pages.getPath(rootPage, currentPage);
for (Page showContent : listPages) {
%>
<li><a href="#">listPages.getDisplayTitle(showContent)) %></a></li>
<%
} //end page for loop