java - Sling - 循环访问资源的属性

标签 java sling

我习惯于在 sling 中使用节点,并习惯于通过以下方式循环节点:

NodeIterator headerNode = currentNode.getNodes();
//loop through and do something

但是,如果我尝试循环访问资源的所有属性,我该如何执行此操作。我真的迷失在这里了。所以目前我只是获取资源的单个属性。但是如果我想获取所述资源的所有属性该怎么办?

Resource getResource = resourceResolver.getResource("/content/AboutPage/jcr:content/list");
ValueMap property = getResource.adaptTo(ValueMap.class);
String title = property.get("jcr:lastEdited", String.class);

非常感谢任何帮助!

最佳答案

由于ValueMap扩展了java.util.Map,您可以使用entrySet()方法:

Resource getResource = resourceResolver.getResource("/content/AboutPage/jcr:content/list");
ValueMap property = getResource.adaptTo(ValueMap.class);
for(Entry<String, Object> e : property.entrySet()) {
    String key = e.getKey();
    Object value = e.getValue();
    //use the key and value here
}

关于java - Sling - 循环访问资源的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16637097/

相关文章:

java - 如何在 Java 中使用按值传递

java - 如何在 Java 中比较 SQL 语句的功能相等?

java - 将 xml 文件上传到 AEM DAM

testing - 将属性注入(inject)Sling Model的最佳方法是什么?

mongodb - 如何使用由 MongoDB 支持的 Apache Oak 运行 Sling

AEM-6.4 吊索原始值 :resourceSuperType for/libs/foundation/components/redirect

servlets - AEM Servlet 响应作者删除链接

java - 如何使用java设置文件的只读访问权限

java - 有关如何创建 Java 纸牌游戏的提示

java - 向对象属性 javafx 添加监听器