2013-02-20 52 views
0

如何加載Adobe CQ5/JSP中文件夾的內容?我試過這個代碼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

由於您試圖在JSP中執行此操作,因此您可以顯示實際的JSP代碼?如果你調試你的代碼會發生什麼?文件夾是否解決? – Jeroen 2013-02-20 16:40:40

+0

@Jeroen我發現問題在哪裏......它看起來像我無法加載文件夾 - 如果我做的folder.exists();它返回false。我試圖改變路徑爲「。」它的工作原理。所以問題是,我如何加載CQ5文件夾,如果我只有相對路徑(例如/內容/文件夾/) – Jakolcz 2013-02-20 17:34:21

回答

1

我認爲問題在於你假定CRX存儲庫中的文件夾可以像文件系統上的文件夾一樣對待,這當然是錯誤的並導致問題。

我建議使用Sling API,並使用ResourceResolver來獲取對您的文件夾的引用,並從中獲取它的子資源。可能的話,取決於你想要做什麼,你可以考慮使用JCR Node API。還有CQ特定的API用於與DAM Assets,Pages等一起工作,適當的API取決於你想要做什麼,所以如果不知道這一點,我不能做出具體的推薦。

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.... 
相關問題