繁体   English   中英

吊索-AEM吊索:新集合中的成员

[英]Sling - AEM sling:members from a new collection

我最近进入了AEM和吊索(api)领域。 我想要做的是编写Java代码来获取sling:members及其属性sling:resources,以获取我在触摸中创建的新集合。 我可以使用ResourceResolver.resolve(path)引用集合属性。 sling:members显示为{....}。 我需要做一个单独的ResourceResolver吗?

String path="/content/dam/collections/m/fafdsfdaf/my_collection";
Resource resourceMember = resourceResolver.resolve(path+"/sling:members");
ValueMap metaData = resourceMember.adaptTo(ValueMap.class);
String[] slingResources = metaData.get("sling:resources", new String[0]);

我完全不合时宜吗? 任何帮助将不胜感激。

获取集合成员的正确方法是使用ResourceCollection API。 为此,您获得指向集合的资源,然后将其调整为ResourceCollection 从那里调用getResources() ,它返回一个遍历成员的迭代器。

Resource r = resourceResolver.getResource("/content/dam/collections/m/fafdsfdaf/my_collection");
ResourceCollection collection = r.adaptTo(ResourceCollection.class);
Iterator<Resource> it = collection.getResources();
while(it.hasNext()) {
   Resource p = it.next();
    %><%= p.getPath() %><%
} 

事实证明,这是执行此操作的正确方法,并且正在起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM