ich auf diese Weise einige Parameter aus einem Formular zu senden:Bindung eine Liste in @RequestParam
myparam[0] : 'myValue1'
myparam[1] : 'myValue2'
myparam[2] : 'myValue3'
otherParam : 'otherValue'
anotherParam : 'anotherValue'
...
Ich weiß, dass ich alle params in der Controller-Methode wie
durch Hinzufügen eines Parameters bekommenpublic String controllerMethod(@RequestParam Map<String, String> params){
....
}
ich möchte die Parameter binden myParam [] (nicht die anderen) zu einer Liste oder Array (alles, was den Index um hält), so habe ich mit einer Syntax versucht, wie:
public String controllerMethod(@RequestParam(value="myParam") List<String> myParams){
....
}
und
public String controllerMethod(@RequestParam(value="myParam") String[] myParams){
....
}
aber keiner von ihnen sind verbindlich die myParams. Selbst wenn ich einen Wert der Karte hinzuzufügen, ist es nicht in der Lage, die params zu binden:
public String controllerMethod(@RequestParam(value="myParam") Map<String, String> params){
....
}
Gibt es eine Syntax einige params auf eine Liste oder Array zu binden, ohne ein Objekt als @ModelAttribute mit einer Liste erstellen mit Attribut darin?
Dank
Ich glaube nicht, dass dies möglich ist. Der Code in 'HandlerMethodInvoker.resolveRequestParam' bekommt immer nur den ersten Wert – skaffman
Bernhards Antwort funktionierte für mich. – theblang
(* Spring Boot *): Ist über 'Methode = RequestMethod.GET' oder' Methode = RequestMethod.POST'? Wenn '.GET'' @RequestParam Liste groupVal' erfüllt von '? GroupVal = kkk, ccc, mmm' erfolgreich (* Spring Boot *) –
basil