对于使用SpringMVC框架开发项目,经常会使用注解@RequestParam(value="aa" required=false),以下为一些理解:
【1】可以对传入参数指定参数名
1 @RequestParam String inputStr
2 // 下面的对传入参数指定为aa,如果前端不传aa参数名,会报错
3 @RequestParam(value="aa") String inputStr
【2】可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传
1 // required=false表示不传的话,会给参数赋值为null,required=true就是必须要有
2 @RequestMapping("testRequestParam")
3 public String filesUpload(@RequestParam(value="aa", required=true) String inputStr, HttpServletRequest request)
【3】如果@requestParam注解的参数是int类型,并且required=false,此时如果不传参数的话,会报错。原因是,required=false时,不传参数的话,会给参数赋值null,这样就会把null赋值给了int,因此会报错。
1 // required=false表示不传的话,会给参数赋值为null,required=true就是必须要有
2 @RequestMapping("testRequestParam")
3 public String filesUpload(@RequestParam(value="aa", required=false) int inputStr, HttpServletRequest request)
4 若是前端页面不传参的话,此处就会报错。当然可以用Integer代替int
网友评论