groovy只抓取循环的第一个元素

groovy只抓取循环的第一个元素,groovy,Groovy,我有一个非常简单的代码片段。出于某种原因,这是一个错误 仅当我尝试在中输出循环的第一个元素时才捕获它 我的jsp。getChildNodes返回一个我认为可以循环使用的节点运算符 每个属性。代码如下: def headerNode = JcrUtils.getChildNodes(LINKS).find{ it.hasProperty("headerTitle") it.hasProperty("headerMeta") } selectHeaderTitle = header

我有一个非常简单的代码片段。出于某种原因,这是一个错误 仅当我尝试在中输出循环的第一个元素时才捕获它 我的jsp。getChildNodes返回一个我认为可以循环使用的节点运算符 每个属性。代码如下:

def headerNode = JcrUtils.getChildNodes(LINKS).find{ 
    it.hasProperty("headerTitle")
    it.hasProperty("headerMeta")
}
selectHeaderTitle = headerNode.getProperty("headerTitle").getString()
selectHeaderMeta = headerNode.getProperty("headerMeta").getString()
JSP:


非常感谢您的帮助

您想要一个属性列表吗?您需要
findAll
,还需要
&&
您的
hasProperty
调用:

def headerNode = JcrUtils.getChildNodes(LINKS).findAll { 
    it.hasProperty("headerTitle") && it.hasProperty("headerMeta")
}

你想要一份财产清单吗?您需要
findAll
,还需要
&&
您的
hasProperty
调用:

def headerNode = JcrUtils.getChildNodes(LINKS).findAll { 
    it.hasProperty("headerTitle") && it.hasProperty("headerMeta")
}

Groovy find只返回第一个匹配项


请参见Groovy find仅返回第一个匹配项


请参见

谢谢,但现在我得到了该地产的最后一个实例。我在JSP中做错了什么吗?我以为上面会返回所有属性的列表?谢谢,但现在我得到了该属性的最后一个实例。我在JSP中做错了什么吗?我以为上面会返回所有属性的列表?