使用USE API检索所有页面组件属性AEM 6.1

时间:2016-08-19 16:05:50

标签: adobe aem sightly

我正在寻找一种方法,使用ADOBE AEM中的USE API在页面上检索所有组件及其属性。

文档很少但是我可以看到我应该能够使用listChildren,但这似乎不起作用。

例如

currentPage.listChildren()

似乎正在返回其子页面。

1 个答案:

答案 0 :(得分:0)

假设您有一个容器组件,您可以在页面上拖放组件,如parsys,并且您希望在解析中删除所有组件的列表,您可以执行以下操作(假设par是节点名称)对于parsys) -

Iterable<Resource> droppedComponents = () -> currentPage.getContentResource().getResource("par").listChildren();

final Stream<Resource> resultStream = StreamSupport.stream(droppedComponents.spliterator(), false);
        List<ValueMap> compPropertyList = resultStream.map(resource -> resource.adaptTo(ValueMap.class))
                .collect(Collectors.toList());
        resultStream.close();

如果您希望所有组件直接位于页面下方,请在上方删除getResource("par")