数组类型参数
请求参数名与处理器方法形参名保持一致,且请求参数数量大于1个访问URL:http://localhost/requestParam9?nick=thenema&nick=th
@RequestMapping("/requestParam9")public String requestParam9(String[] nick){System.out.println(nick[0]+","+nick[1]);return "page.jsp";}
集合类型参数
保存简单类型数据,请求参数名与处理器方法形参名保持一致,且请求参数数量大于1个访问URL:http://localhost/requestParam10?nick=thenema&nick=t
@RequestMapping("/requestParam10")public String requestParam10(@RequestParam("nick") List<String> nick){System.out.println(nick);return "page.jsp";}
注意:SPringMVC默认将List作为对象处理,赋值前先创建对象,然后将nick作为对象的属性进行处理。由于是List接口,无法创建对象,报无法找到构造方法异常;修复类型为可创建对象的ArrayList类型后,对象可以创建,但没有nick属性,因此数据为空。此时需要告知SpringMVC的处理器nick是一组数据,而不是一个单一数据。通过@RequestParam注解,将数量大于1个的names参数打包成参数数组后,SpringMVC才能识别该数据格式,并判定形参类型是否为数组或集合,并按数组或集合对象的形式操作数据。