我了解JCR API的工作原理,并在Magnolia中使用。我想得到的结果是JSON对象My Node对象具有层次结构(每个子节点都有类型mgnl:category)
test_1
test_a
test_b
test_c
test_c1
test_d
如果我用
var session = context.getJCRSession("category");
Iterable<Node> categoryItems = NodeUtil.collectAllChildren(
session.getNode(nodePath),
new NodeTypePredicate("mgnl:category"));
List<String> result = new ArrayList<>();
for (Node node : categoryItems) {
result.add(node.getName());
}
我只得到一个孩子的名单,比如:[test_a,test_B,test_c,text_c1,test_d].我如何检查子节点是否有子节点?因为我需要[test_a, test_b, test_c: {text_c1}, test_d].
,我认为递归可以在这里完成...但是我需要关于节点是否有子节点的信息...
1条答案
按热度按时间mnemlml81#
您可以通过hasNodes()方法检查节点是否有子节点。您可以在此处参考更多JCR节点API https://developer.adobe.com/experience-manager/reference-materials/spec/jsr170/javadocs/jcr-2.0/javax/jcr/Node.html谢谢