我正在尝试从 html 中的多选选项框中获取多个值。
我进入我的控制器:
/test?t=1&t=2&t=3
在控制器中,我尝试获取 int 数组:
@RequestParam(value = "t", required = true) int[] t
但是当我使用以下方法检查它时:
t.length
我只看到 1,这意味着 Spring 只得到 1 个参数,但我期望 3。有人知道吗?
我正在尝试从 html 中的多选选项框中获取多个值。
我进入我的控制器:
/test?t=1&t=2&t=3
在控制器中,我尝试获取 int 数组:
@RequestParam(value = "t", required = true) int[] t
但是当我使用以下方法检查它时:
t.length
我只看到 1,这意味着 Spring 只得到 1 个参数,但我期望 3。有人知道吗?
我认为spring不会将参数数组转换为String以外的特定类型,因此您应该尝试以下操作:
@RequestParam(value = "t", required = true) String[] t
然后用于Integer.parseInt()
将 String 转换为 int。
这在 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 数组。