我正在尝试从html中的多选项框中获取多个值。
我进入我的控制器:
/test?t=1&t=2&t=3
在控制器中,我尝试获取int数组:
@RequestParam(value = "t", required = true) int[] t
但是当我用它来检查时:
t.length
我只看到1,这意味着Spring只获得1个参数,但我预计会有3个参数。 有人有任何想法吗?
答案 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数组。