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(つまり、、、、または、でListあるが、ではない)、Groovy(Grailsが組み込まれている言語)の配列のようにアクセスできます。@Greggの答えは、最初に明示的に配列に変換してから、配列のようにそれにアクセスします。MapRangeSetitems

于 2012-07-23T16:31:59.290 に答える
1

多くのコードを表示しておらず、エラーも通知しなかったため、ここでいくつかの仮定を行います。

デフォルトでは、Grailsのコレクションはセットです。セットの最初の値を取得するには、次のようにします。

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

${items.head().value}最初の値を取得するために使用できます

于 2012-07-24T09:02:42.807 に答える