最近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个元素
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参数是可选的。