我想列出目录/ content / abc
中存在的所有页面我只关心这个目录中确切存在的页面(没有更深层的子文件夹,没有子页面等)。
有人可以帮我提供我可能用来实现此目的的JSP代码吗?
谢谢!
答案 0 :(得分:1)
使用Resource类的listChildren()
方法列出该目录下的所有资源。迭代它们并检查资源是否是Page。
Resource parentResource = resourceResolver.getResource("/content/abc");
Iterator<Resource> resources = parentResource.listChildren();
while (resources.hasNext()) {
Resource res = resources.next();
if (res.adaptTo(Page.class) != null) {
//it's a page. Do stuff with this
}
}
答案 1 :(得分:0)
该目录也是一个页面吗? 如果是这样,你可以使用Page API for Page和page#listChildren(),类似于:
Page thePage = resource.adaptTo(Page.class);
if (thePage == null) {
//not a page, fail
return;
}
for(Iterator<Page> children = thePage.listChildren(); children.hasNext();) {
Page child = children.next();
// do something
}
如果目录不是一个页面,那么你应该对rakhi4110的回答很好