在此以前,写项目一直用的是@RequestParam(value="aa" required=false)这个注解,可是并不知道它的意思。如今懂了,特来记录下。前端
一、能够对传入参数指定参数名app
1 @RequestParam String inputStr 2 // 下面的对传入参数指定为aa,若是前端不传aa参数名,会报错 3 @RequestParam(value="aa") String inputStr
二、能够经过required=false或者true来要求@RequestParam配置的前端参数是否必定要传 ui
1 // required=false表示不传的话,会给参数赋值为null,required=true就是必需要有 2 @RequestMapping("testRequestParam") 3 public String filesUpload(@RequestParam(value="aa", required=true) String inputStr, HttpServletRequest request)
三、若是@requestParam注解的参数是int类型,而且required=false,此时若是不传参数的话,会报错。缘由是,required=false时,不传参数的话,会给参数赋值null,这样就会把null赋值给了int,所以会报错。spa
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