我有一个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>
答案 0 :(得分:2)
虽然@ Gregg的答案是正确的并且允许你获得第一个元素,但是有一种更简单的方法,它与你尝试的非常接近:
<div id="blaa">${items[0].value}"</div>
问题是您需要在${...}
结构中包含所有的“代码”部分。除此之外的所有内容都被视为字符串。
只要items
是有序的Collection
(因此,List
,Map
或Range
,而不是{{1}你可以像Groovy中的数组一样访问它(Grails是内置的语言)。 @Gregg的答案首先将Set
显式转换为数组,然后像数组一样访问它。
答案 1 :(得分:1)
在这里做一些假设,因为你没有显示很多代码而你也没有告诉我们错误:
默认情况下,Grails中的集合是集合。要获得集合中的第一个值,您可以执行以下操作:
${item.toArray()[0]}
答案 2 :(得分:0)
您可以使用${items.head().value}
获取第一个值