0

オブジェクトの currentNode を取得し、それを調べて子ノードを取得する、かなり基本的なコード スニペットがあります。何らかの理由を除いて、これは機能せず、その理由がわかりません。getChildNodes()子の反復可能なリストを返すことになっていますが、取得しているのは次のとおりです:「Iterable型のコレクションを持つnode型の要素でループすることはできません

Node currentNode = resource.adaptTo(Node.class)
for (Node n : JcrUtils.getChildNodes(currentNode)){
//do something
}

何か案は?助けてくれてありがとう。

4

1 に答える 1

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());
}
%>
于 2013-06-04T09:54:42.830 に答える