我有一个非常基本的代码片段,它获取对象的currentNode并查看它以获取它的子节点。除了某些原因,这不起作用,我无法弄清楚为什么。 getChildNodes()
假设返回一个可迭代的子项列表,但我得到的是:“无法循环使用节点类型的元素,其集合类型为 Iterable
Node currentNode = resource.adaptTo(Node.class)
for (Node n : JcrUtils.getChildNodes(currentNode)){
//do something
}
有什么想法吗?谢谢你的帮助。
答案 0 :(得分:2)
以下Sling JSP脚本适合我。 sling:defineObjects标签提供currentNode。
<%@page import="javax.jcr.Node,org.apache.jackrabbit.commons.JcrUtils" session="false"%>
<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0"%>
<sling:defineObjects/>
<%
for (Node n : JcrUtils.getChildNodes(currentNode)){
out.println(n.getPath());
}
%>