1

저는 Alfresco 웹 스크립트를 통해 모든 폴더, 하위 폴더 및 파일을 다시 뱉어 낼 수있는 웹 스크립트 작업을하고 있습니다. Alfresco webscript. 모든 폴더, 하위 폴더 및 파일 나열

나의 현재 자바 스크립트 모델 :

// search for folder within Alfresco content repository 
var folder = roothome.childByNamePath("PATH"); 

// validate that folder has been found 
if (folder == undefined || !folder.isContainer) { 
    status.code = 404; 
    status.message = "Folder " + " not found."; 
    status.redirect = true; 
} 

// construct model for response template to render 
model.folder = folder; 

내 JSON 응답은 다음과 같이 작성됩니다

{"corporates" : [ 
     { 
     "folder" : "Example Folder 1" 
     } 
     { 
     "folder" : "Example Folder 2" 
     } 
     { 
     "folder" : "Example Folder 3" 
     } 
     { 
     "folder" : "Example Folder 4" 
     } 
    ] 
} 

이 멋지다 :

<#assign datetimeformat="EEE, dd MMM yyyy HH:mm:ss zzz"> 
{"corporates" : [ 
    <#list folder.children as child> 
     { 
     "folder" : "${child.properties.name}" 
     } 
    </#list> 
    ] 
} 

이 프리 마커 JSON 템플릿은 다음과 응답 ,하지만이 4 개의 폴더 각각에 서브 폴더/파일을 나열해야합니다.

이 스레드 (herehere)는 폴더를 트래버스하는 방법에 대한 예제를 제공하지만 적절한 응답을 얻을 수 없습니다.

This Alfresco thread은 Lucene 검색을 사용하여 모든 폴더/하위 폴더/파일을 가져 오는 방법을 언급하고 있지만 올바르게 형식화 할 수 없습니다.

링크 된 스레드에 대한 도움이나 의견을 보내 주시면 감사하겠습니다.

답변

1

Freemarker를 사용하여 분명히 응답을 얻었습니다. 왜 그곳에서 아이들을 단순히지나 다니지 않습니까? 노드를 받아들이는 매크로/함수를 생성 해, 그 노드의 모든 아이를 돌려줍니다. 그런 다음 매크로를 여러 번 호출하면 재귀 적으로 필요합니다.

http://docs.alfresco.com/5.2/references/API-FreeMarker-TemplateNode.html

http://freemarker.org/docs/

+0

감사 @Lista! 이 조언은 훌륭하게 작동했으며 이제 각 폴더를 반복적으로 다이빙하고 있습니다. 아래 코드 : "$ : \t \t \t { \t \t"폴더 " '<의 #macro recurse_macro 노드 깊이> child.properties.name {} " \t \t} \t \t <# 만약 child.isContainer> \t \t \t \t \t { \t <= 자식 노드 @recurse_macro 깊이 깊이 = + 1 /> \t\t} \t \t \t ' – tlapinsk