2

我完全是新手,所以我提前道歉。我已经设置了一个 CQ5 实例,但我不知道如何访问特定节点。所以说我有一个带有路径的组件: /project/components/content/leftsidebar 但我想在这里访问另一个节点的属性: /content/dam/campaign

我知道 properties.get 方法有效,但前提是您在该节点内 properties.get("title", "placeholder");

我是一个完整的新手,所以请发布代码示例是可能的。

谢谢!

4

1 回答 1

5

您想使用ResourceResolver来获取您正在寻找的资源。从那里,您可以将其调整为ValueMap并读取其属性:

ResourceResolver resourceResolver = slingRequest.getResourceResolver();
Resource campaignResource = resourceResolver.getResource("/content/dam/campaign");
ValueMap campaignProperties = campaignResource.adaptTo(ValueMap.class);
String title = campaignProperties.get("title", "placeholder");

您可以在Apache Sling网站上阅读有关访问属性的更多信息。请记住,CQ5 是底层的 Sling,因此它是一个很好的资源,并且您仍然是直接访问 JCR 之上的抽象级别。

于 2013-04-04T23:50:12.747 回答