私はこのようにフォームからいくつかのパラメータを送信しています:
myparam[0] : 'myValue1'
myparam[1] : 'myValue2'
myparam[2] : 'myValue3'
otherParam : 'otherValue'
anotherParam : 'anotherValue'
...
次のようなパラメータを追加することで、コントローラメソッドのすべてのパラメータを取得できることを知っています。
public String controllerMethod(@RequestParam Map<String, String> params){
....
}
パラメータmyParam [](他のパラメータではない)をリストまたは配列(インデックスの順序を維持するもの)にバインドしたいので、次のような構文を試しました。
public String controllerMethod(@RequestParam(value="myParam") List<String> myParams){
....
}
そして
public String controllerMethod(@RequestParam(value="myParam") String[] myParams){
....
}
しかし、それらのいずれもmyParamsをバインドしていません。マップに値を追加しても、paramsをバインドできません。
public String controllerMethod(@RequestParam(value="myParam") Map<String, String> params){
....
}
リスト属性を持つ@ModelAttributeとしてオブジェクトを作成せずに、パラメーターをリストまたは配列にバインドする構文はありますか?
ありがとう
method = RequestMethod.GET
かmethod = RequestMethod.POST
?正常に.GET
@RequestParam List<String> groupVal
実行され?groupVal=kkk,ccc,mmm
た場合(スプリングブート)
HandlerMethodInvoker.resolveRequestParam
唯一のコードは、最初の値を取得します