在SpringMVC控制层获取参数值的方式主要有两种,一种是request.getParameter(“name”),另外一种是用注解@RequestParam直接获取。
@Requestparam :映射请求的参数;
required:表示是否必须,默认为true;
defaultValue:请求参数的默认值。
解析:
1.可以对传入的参数指定参数名。
//指定传入的参数名必须为par_id,如果前端传的参数名不是par_id,会报错。
@RequestMapping(value = "/query_personnel_list")
@ResponseBody
public Object QueryMyGroupPersonnel(@RequestParam("par_id")String par_id){
2、可以通过required=false或者true来要求:@RequestParam配置的前端参数是否一定要传
// required=false表示不传,会给参数赋值为null,required=true就是必须要传参数,参数不能为空。
@RequestMapping("queryList") @ResponseBody
public String queryList(@RequestParam(value="userId", required=true) String userId)
3、如果@requestParam注解的参数是int类型,并且required=false,此时如果不传参数的话,会报错。原因是,required=false时,不传参数的话,会给参数赋值null,这样就会把null赋值给了int,因此会报错。
// required=false表示不传的话,会给参数赋值为null,required=true就是必须要有
@RequestMapping("queryList")
@ResponseBody
public String queryList(@RequestParam(value="userId", required=false) int userId)
若是前端页面不传参的话,此处就会报错。当然可以用Integer代替int