Reputation: 877
I am trying to get multiple values from a multiple select option box in html.
I get in to my controller:
/test?t=1&t=2&t=3
In the controller, I try to get the int array:
@RequestParam(value = "t", required = true) int[] t
But when I check it using:
t.length
I only see 1, which means Spring only gets 1 parameter, but I expected 3. Anybody have any idea?
Upvotes: 3
Views: 12122
Reputation: 81
This is working as expected with Spring 3.2 version. I have a method:
@RequestMapping(value = "/blueprint", method = RequestMethod.GET)
public ModelAndView blueprint(@RequestParam(value = "blueprints", required = false) int[] blueprints)
and when using
http://localhost:9000/blueprint?blueprints=2&blueprints=1
or
http://localhost:9000/nbu-portal-webapp/blueprint?blueprints=1,2
the values are being converted to the correct int array.
Upvotes: 4
Reputation: 7459
I don't think that spring will convert a parameter array to a specific type other than String, so you should try the following:
@RequestParam(value = "t", required = true) String[] t
and then use Integer.parseInt()
to convert the String to an int.
Upvotes: 5