有没有办法使用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。有什么建议吗?
答案 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");
}