Spring中的@RequestParam注解


1、可以对传入参数指定参数名

@RequestParam String inputStr  
// 下面的对传入参数指定为aa,如果前端不传aa参数名,会报错  
@RequestParam(value="aa") String inputStr  
**错误信息:** 
**HTTP Status 400 - Required String parameter 'aa' is not present** 

2、可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传

// required=false表示不传的话,会给参数赋值为null,required=true就是必须要有 @RequestMapping("testRequestParam") public String filesUpload( @RequestParam(value="aa", required=true) String inputStr, HttpServletRequest request)

3、如果用@RequestMapping注解的参数是int基本类型,但是required=false,这时如果不传参数值会报错,因为不传值,会赋值为null给int,这个不可以

@RequestMapping("testRequestParam")    
public String filesUpload(
    @RequestParam(value="aa", required=true) String inputStr, 
    @RequestParam(value="inputInt", required=false) int inputInt,
    HttpServletRequest request) {    
// ......省略  
return "index";  
}  

解决方法:
“Consider declaring it as object wrapper for the corresponding primitive type.”建议使用包装类型代替基本类型,如使用“Integer”代替“int”

@RequestParam 有三个属性:
(1)value:请求参数名(必须配置)
(2)required:是否必需,默认为 true,即 请求中必须包含该参数,如果没有包含,将会抛出异常(可选配置)
(3)defaultValue:默认值,如果设置了该值,required 将自动设为 false,无论你是否配置了required,配置了什么值,都是 false的效果(可选配置)

具体配置方法:
(1)配置一个属性

@RequestParam("") 或 @RequestParam(value="")

(2)配置多个属性

@RequestParam(value="", required=true, defaultValue="")

 

 

参考文章:

https://www.jianshu.com/p/06667e4580a8


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM