我正在尝试从我的jsp中删除一些scriptlet并且几乎具有相同的相同内容 代码,但我的模型类以某种方式抛出错误。主要区别在于JcrUtils.getChildNodes()命令,该命令实质上在节点上调用Node.getNodes()并返回Iterable实例。我已经花了好几个小时在脑子上绞尽脑汁,无法弄清楚:
JSP:
final String HEADER = "header"
final Node headerNode = currentNode.hasNode(HEADER)
NodeIterator childLinks = headerNode.getNodes();
while ( childLinks.hasNext() ) {
Node link = (Node) childLinks.next();
headerNode = link.getProperty("headerTitle");
//do something with more child node properties
}
MODEL CLASS:
final String HEADER = "header"
final Node headerNode = currentNode.hasNode(HEADER)
def headerNodeTitle = JcrUtils.getChildNodes(headerNode).find{ it.hasProperty("headerTitle") }
selectHeaderLabel = topicNode.getProperty("headerTitle").getString();
错误
No signature of method: static org.apache.jackrabbit.commons.JcrUtils.getChildNodes() is applicable for argument types: (java.lang.String) values: [true]
答案 0 :(得分:1)
根据错误消息,JcrUtils.getChildNodes(...)
需要String
类型参数。查看这段代码以及您调用的代码JcrUtils.getChildNodes(headerNode)
,并传递Node
类型的对象。