RequestParam从select选项html表单中获取数组

时间:2012-04-25 18:11:13

标签: spring-mvc

我正在尝试从html中的多选项框中获取多个值。

我进入我的控制器:

/test?t=1&t=2&t=3

在控制器中,我尝试获取int数组:

@RequestParam(value = "t", required = true) int[] t

但是当我用它来检查时:

t.length

我只看到1,这意味着Spring只获得1个参数,但我预计会有3个参数。 有人有任何想法吗?

2 个答案:

答案 0 :(得分:5)

我认为spring不会将参数数组转换为String以外的特定类型,因此您应该尝试以下操作:

@RequestParam(value = "t", required = true) String[] t

然后使用Integer.parseInt()将String转换为int。

答案 1 :(得分:4)

这与Spring 3.2版本一样正常。 我有一个方法:

@RequestMapping(value = "/blueprint", method = RequestMethod.GET)
public ModelAndView blueprint(@RequestParam(value = "blueprints", required = false) int[] blueprints)

和使用时

http://localhost:9000/blueprint?blueprints=2&blueprints=1

http://localhost:9000/nbu-portal-webapp/blueprint?blueprints=1,2

将值转换为正确的int数组。