在AEM中,可以使用谓词@Child来仅列出直接子节点。以下是一个包含代码示例的解决方法:
import com.day.cq.wcm.api.Page;
import com.day.cq.wcm.api.PageManager;
import com.day.cq.wcm.api.PageFilter;
import javax.jcr.NodeIterator;
public class AemPredicateExample {
    public void listDirectChildren(String parentPath) {
        PageManager pageManager = slingRequest.getResourceResolver().adaptTo(PageManager.class);
        Page parentPage = pageManager.getPage(parentPath);
        if (parentPage != null) {
            NodeIterator iterator = parentPage.listChildren(new PageFilter());
            while (iterator.hasNext()) {
                Page childPage = (Page) iterator.next();
                // 处理子节点逻辑
                // ...
            }
        }
    }
}
在上述代码示例中,listDirectChildren方法接受一个父节点路径作为参数,并使用PageManager获取父页面。然后,使用listChildren方法和PageFilter谓词获取父页面的直接子节点迭代器。在迭代器中,您可以使用Page对象处理每个子节点的逻辑。