如何提取grails对象中的第一个值

时间:2012-07-23 14:20:49

标签: grails

我有一个grails对象,我想在其中提取第一个值。我是grails的新手,还没有完全理解这门语言。 我之前使用循环来提取它们,但这次我只需要第一个值而不需要其他任何东西。 我试过用

<div id="blaa">${items}[0].value"</div> 

引发了错误。

下面通常是我如何遍历对象。

             <g:each in="${items}" var="item" status="i">
                    <li><a href="#">${item.value}</a></li>
                </g:each>

3 个答案:

答案 0 :(得分:2)

虽然@ Gregg的答案是正确的并且允许你获得第一个元素,但是有一种更简单的方法,它与你尝试的非常接近:

<div id="blaa">${items[0].value}"</div>

问题是您需要在${...}结构中包含所有的“代码”部分。除此之外的所有内容都被视为字符串。

只要items是有序的Collection(因此,ListMapRange,而不是{{1}你可以像Groovy中的数组一样访问它(Grails是内置的语言)。 @Gregg的答案首先将Set显式转换为数组,然后像数组一样访问它。

答案 1 :(得分:1)

在这里做一些假设,因为你没有显示很多代码而你也没有告诉我们错误:

默认情况下,Grails中的集合是集合。要获得集合中的第一个值,您可以执行以下操作:

${item.toArray()[0]}

答案 2 :(得分:0)

您可以使用${items.head().value}获取第一个值