我正在寻找一种方法,使用ADOBE AEM中的USE API在页面上检索所有组件及其属性。
文档很少但是我可以看到我应该能够使用listChildren
,但这似乎不起作用。
例如
currentPage.listChildren()
似乎正在返回其子页面。
答案 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")