如何在Adobe CQ5 / JSP中加载文件夹的内容?我试过这段代码
File folder = new File(pathToFolder);
File[] listOfFiles = folder.listFiles();
if(listOfFiles == null){ //this statement is just for debugging purposes
System.out.println("NULL");
}else{
System.out.println("NOT NULL");
...
但我仍然从println()获得NULL输出。
感谢您的帮助。
答案 0 :(得分:1)
我认为问题在于你假设CRX存储库中的文件夹可以被视为与文件系统上的文件夹相同,这当然是错误的,并导致问题。
我建议使用Sling API,并使用ResourceResolver获取对您文件夹的引用,并从中获取子资源。可能,根据您要执行的操作,您可能会考虑使用JCR Node API。还有用于处理DAM资产,页面等的CQ特定API,并且适当的API取决于您正在尝试做什么,因此在不知情的情况下,我无法做出特定的推荐。
答案 1 :(得分:0)
ResourceResolver resourceResolver = request.getResourceResolver();
Resource rootResource = resourceResolver.getResource("/apps/yourapp/somelocation");
Resource chileNode = rootResource .getChild("some/child/relative/path");
Map<String, Object> valueMap = new CaseInsensitiveMap(chileNode.adaptTo(ValueMap.class));
--get valueMap values....