最近2年在工作问题总结中,好几次遇到了SpringMVC接收参数的问题,今天特别总结下。


 SpringMVC接收参数的方法:

 Html参数输入

<input name="status"/>  对应Integer的status
    <input name="person.name"/>  对应 实体bean Person的name字段
    <input name="params[address]" />  对应Map集合params,key为address
  <input name="list[0][age]"/>  对应List集合list,第0个元素


 接收参数Bean


class  Bean{ 
          Integer status;
        Person person; 
     Map<String,Object> params;
       List<Map<String,Object>> list; 
};

接收参数,可以使用@RequestParam这个注解。(可选!!!)


让人意外的是:Integer原始类型和User等实体类,可以不使用这个注解。而用Map接收参数时,必须使用@RequestParam这个注解。


默认使用@RequestParam Integer id,没有接收到id,会报错。

@RequestParam(required=false)表示id参数是可选的。