原文鏈接:https://www.cnblogs.com/likaileek/p/7218252.html
SpringMVC注解@RequestParam全面解析
在此之前,寫項目一直用的是@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