2014-07-18 6 views
0

저는 큐 구성 요소의 일부로 작업하고 있는데 필요한 것은 이미지 파일 참조 경로를 검색하고 페이지의 이미지를 렌더링하는 것입니다.cq get currentpage의 jcr : content/image 노드 속성 -> fileReference

예 : 그림과 같은 페이지 구조입니다. 컨텐츠 및 JCR에서 모든 속성을 얻을 : enter image description here

메신저 전류가 인덱스 페이지에, 내가 인덱스 페이지의 아이 페이지를 검색하고 JCR의 가치 맵을 얻는 방법을 알고 말 ... 내용

하지만, 내용/이미지 노드 -> 이미지, 그것은의 FileReference 숙박 시설의 검색하는 방법 ... 여기

이 ...

<% 
    boolean includeTitle = properties.get("includeTitle", false); 
    boolean includeImage = properties.get("includeImage", false); 
    boolean includeSubTitle = properties.get("includeSubTitle", false); 
    boolean includeDescription = properties.get("includeDescription", false); 
    String type = currentStyle.get("type", "plain"); 
%> 


<% 
    Iterator<Page> currentPageChildren = currentPage.listChildren(); 
    while(currentPageChildren.hasNext()){ 
     Page childPage = currentPageChildren.next(); 
     ValueMap childPageProperties = childPage.getProperties(); 

     //trying to retrieve the image node 
     Node imageNode = childPage.getContentResource("image").adaptTo(Node.class); 

     String childPageTitle = childPageProperties.get("jcr:title", String.class); 
     String childPageSubTitle = childPageProperties.get("subtitle", String.class); 
     String childPageDescription = childPageProperties.get("jcr:description", String.class); 
     %> 
     <div> 
     <% if (includeTitle) { %> 
       <p><%= childPageTitle%></p> 
     <% } 

     if (includeSubTitle) { %> 
       <p><%= childPageSubTitle%></p> 
     <% } 

     if (includeDescription) { %> 
       <p><%= childPageDescription%></p> 
     <% } %> 

     //test to print image's filereference path in string on page 
     <p><%=imageNode.getProperty("fileReference") %></p> 

     </div> 
     <% 
    } 
%> 

가 충돌, 내 코드하십시오 : 나는 JCR의 검색하는 방법을 잘 모릅니다 일부 공동으로 도와주세요. 예, thx

답변

2

null 체크를 처리하는 Image 클래스를 사용하는 것이 좋습니다. 나는 당신의 코드에서 imageNode이 null이거나 아무런 속성을 가지고 있지 않은 페이지 위에 비틀 거려서 생각한다. fileReference.

코드 스 니펫 :

String fileReference = ""; 
Resource imgRes = childPage.getContentResource("image"); 
if (imgRes != null) { 
    Image image = new Image(imgRes); 
    fileReference = image.getFileReference(); 
}