cq получить jcr текущей страницы: свойство узла содержимого / изображения - ›fileReference

Я работаю над частью компонента cq, мне нужно получить путь ссылки на файл изображения и отобразить изображение на странице.

например, это структура моей страницы, как показано на рисунке. введите описание изображения здесь

скажем, я сейчас на индексной странице, я знаю, как получить дочернюю страницу индексной страницы и получить их карту значений jcr: content, а также получить все свойства из jcr: content ...

но я не знаю, как получить его jcr: content / image node-> изображение и как получить его свойство 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>
        <%
    }
%>

пожалуйста, помогите мне с примером кода, спасибо


person sefirosu    schedule 18.07.2014    source источник


Ответы (1)


Я предлагаю использовать изображение, который выполняет нулевые проверки. Я думаю, что в вашем коде вы наткнетесь на страницу, где imageNode имеет значение null или не имеет свойства fileReference.

Фрагмент кода:

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