Im Frühjahr, wie kann ich das binden einer Liste von Integer-zahlen zu einem RequestParam?
Ich habe die Parameter vom client gesendet werden, wie
ids[] = 11
ids[] = 12
ids[] = 21
Auf der server-Seite, ich habe ein Spring-controller mit der folgenden Methode:
@RequestMapping("/delete.x")
public @ResponseBody Map<String, Object> delete(HttpServletRequest request, @RequestParam("ids[]") List<Integer> ids) {
Wenn ich versuche, zu Durchlaufen die Auflistung der ids wie folgt:
for (Integer id : ids) {
Bekomme ich auch eine exception wie folgt:
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
Frühling ist die änderung der Art der ids List<String>? Egal, nehme ich an, wie kann ich dieses Problem vermeiden und haben die ids gespeichert als ganze zahlen innerhalb einer Liste?
InformationsquelleAutor James | 2013-01-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem, das Sie konfrontiert sind, ist, dass java type erasure. Damit zur Laufzeit eine
List<Integer>
entspricht als eineList<String>
und die Feder hat keine Möglichkeit zu wissen, Sie wollen die ganzen zahlen in Ihrer Liste.Einem umgehen könnten mit einem integer-array statt einer Liste von ganzen zahlen.
InformationsquelleAutor JoG
Für den string habe ich wie folgt vorgenommen und dieser läuft einwandfrei
und im controller wird es so sein
InformationsquelleAutor Ajay Kumar