我有来自客户端的正在发送的参数,例如
ids[] = 11
ids[] = 12
ids[] = 21
在服务器端,我有一个具有以下方法的 Spring Controller :
@RequestMapping("/delete.x")
public @ResponseBody Map<String, Object> delete(HttpServletRequest request, @RequestParam("ids[]") List<Integer> ids) {
当我尝试按如下方式迭代 id 集合时:
for (Integer id : ids) {
我收到如下异常:
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
Spring 是否将 ids 类型更改为 List
最佳答案
你面临的问题是java有类型删除。所以在运行时a List<Integer>
相当于 List<String>
spring 无法知道你想要将整数放入你的列表中。
解决方法可能是使用整数数组而不是整数列表。
@RequestMapping("/delete.x")
public @ResponseBody Map<String, Object> delete(HttpServletRequest request,
@RequestParam("ids[]") Integer[] ids) {
关于spring - 在 Spring 中,如何将整数列表绑定(bind)到 RequestParam?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14324881/