2016-11-10 31 views
0

我正在嘗試使用JAVA USE API和Sightly迭代段落列表(com.day.cq.wcm.foundation.Paragraph)。它能夠在後端獲取段落。但它無法讀取並在前端顯示它。無法在視覺上迭代段落對象

下面是代碼:

JAVA:

public class AnchorList extends WCMUsePojo{ 

    private List<Paragraph> paragraphs; 

    public List<Paragraph> getParagraphs() { 
     return paragraphs; 
    } 

    public void setParagraphs(List<Paragraph> paragraphs) { 
     this.paragraphs = paragraphs; 
    } 

    public void activate() throws Exception{ 

     paragraphs = new LinkedList<Paragraph>(); 
     Resource resource = getResource(); 

     SlingHttpServletRequest slingRequest = getRequest(); 

     ParagraphSystem parSys = ParagraphSystem.create(resource, slingRequest); 

     for (Paragraph par: parSys.paragraphs()) { 
      paragraphs.add(par); 
     } 
    } 
} 

HTML:

<div data-sly-use.anchorList="AnchorList" data-sly-unwrap> 
    <div data-sly-list.paragraphs="${anchorList.paragraphs}" data-sly-unwrap> 
     Para Type is: ${paragraphs.getType} 
    </div> 
</div> 

我想從基礎款類段的類型。但它能夠識別大小並重復「n」次,但無法顯示值。

注:段落不是自定義類,它的cq基礎類即com.day.cq.wcm.foundation.Paragraph;

+0

如果你只是想要的類型,更簡單的方法可能是在你的POJO中添加一個getter來返回一個段落類型列表。 – Abhishek

回答

1

如果你看看Paragraph的JavaDocs,getType()返回一個Enum,我猜測它不能被HTL解釋。你可以嘗試的是 -

paragraphs.type.name