0

我有一个非常简单的代码片段。出于某种原因,当我尝试在我的 jsp 中输出它时,它只会抓取循环的第一个元素。JcrUtils.getChildNodes 返回一个 NodeIterator,我认为它会遍历每个属性。这是代码:

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

JSP:

${header.selectHeaderTitle}
${header.selectHeaderMeta}

任何帮助是极大的赞赏!

4

2 回答 2

3

你想要一个属性列表?你需要findAll,你也需要&&你的hasProperty电话:

def headerNode = JcrUtils.getChildNodes(LINKS).findAll { 
    it.hasProperty("headerTitle") && it.hasProperty("headerMeta")
}
于 2013-06-18T14:44:04.323 回答
0

Groovy find 只返回第一个匹配项。

http://groovy.codehaus.org/Iterator+Tricks

于 2013-06-18T14:46:19.293 回答