Grails とシナリオを使用すると、HTTP 要求から渡されたオブジェクトがあり、オブジェクトを反復処理して、次のようにすべての可能なオブジェクトを取得します。
if (params.colors) {
for (String color in params.colors) {
println color
}
}
[Ljava.lang.String が渡された場合 (つまり、params.colors = ["blue","green","yellow"])、出力は期待どおりです。
blue
green
yellow
しかし、params.colors = "blue" の場合、もちろん、groovy は "blue" をトークン化し、次の出力が得られます。
b
l
u
e
すでに配列であるかどうかを確認する必要があると思います。私がこれに間違って近づいているか、それを行うためのグルーヴィーな方法がない限り。