2

我有一个 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>
4

3 回答 3

2

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

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

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

只要items是有序的Collection(所以,a List、aMap或 a Range,但不是 a Set),您就可以像 Groovy 中的数组一样访问它(Grails 是内置的语言)。@Gregg 的答案items首先显式转换为数组,然后像数组一样访问它。

于 2012-07-23T16:31:59.290 回答
1

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

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

${item.toArray()[0]}
于 2012-07-23T14:47:30.183 回答
0

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

于 2012-07-24T09:02:42.807 回答