吊索处理子资源

时间:2015-08-19 18:51:12

标签: cq5 sling

有没有办法使用Sling API访问子资源的属性?我知道使用JCR API可以访问子节点。 Sling确实提供了列出儿童的方法。但是

Resource pageResource = resolver.getResource("/content/sitename/page/jcr:content");
ModifiableValueMap map = pageResource.adaptTo(ModifiableValueMap.class);
map.put("component01/propertyName","Changed Text");

不起作用。这会引发一个“无效的属性”。 SlingException。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

  

不起作用。这会引发一个“无效的属性”。 SlingException。

正如我在评论中提到的那样,引号(“”)似乎有点可疑。

尝试以下代码段。

你可以用漂亮的AEM Fiddle by ACS Tools.

来解决这些要求
Resource pageResource = resourceResolver.getResource("/content/sitename/page/jcr:content");
Iterable<Resource> childrenResources = pageResource.getChildren(); // Gives you all the resources representing direct children of /content/sitename/page/jcr:content 

for(Resource childResource : childrenResources){
    ModifiableValueMap mValueMap = childResource.adaptTo(ModifiableValueMap.class); // childResource should represent "component01"  .
    mValueMap.put("someProperty", "Some Value");
}
相关问题