Grails 1.3.3 を使用して、URL リンクを要求する場合:
/myapp/mycontroller/myaction?p1=v1&p2=v2&p1=v1
次に、params が Grails コントローラーに値を注入すると、以下が含まれます。
assert params.p1== ['v1','v1']
params.p1' に等しいことは私にとって論理的だったでしょうv1'。いいえ?
いずれにせよ、この動作を変更する方法はありますか?
ありがとうございました。
Grails 1.3.3 を使用して、URL リンクを要求する場合:
/myapp/mycontroller/myaction?p1=v1&p2=v2&p1=v1
次に、params が Grails コントローラーに値を注入すると、以下が含まれます。
assert params.p1== ['v1','v1']
params.p1' に等しいことは私にとって論理的だったでしょうv1'。いいえ?
いずれにせよ、この動作を変更する方法はありますか?
ありがとうございました。
私は@Andrewに同意しますが、あなたはそうしなければなりません
p1.unique()[0] == 'v1'
その特別なケースを処理するためにすべてのコントローラーアクションにコードを記述する必要がないため、重複を取得したくないと想定しています。私が言える唯一のことは、そもそも重複を許可しないか、フィルターを使用してリクエストを傍受し、重複するパラメーター値を置き換えることです。
パラメータが 2 倍になっているのはアプリのバグですか? ほとんどの人は、それは複数の値を持つことを意味するはずであると考えているため、奇妙な動作とは見なされません。デフォルトの動作が気に入らない場合は、いつでもクエリ文字列を取得して自分で解析できます。