区别:
在spring mvc中一般是通过@RequestParam标签来获取前台页面传入的参数,他与request.Parameter("")获取的区别在哪?
@RequestParam可以对参数设置是否必需传递 ,可以设置默认值
- 可以设置required=true或者required=false来控制页面参数是否一定要传,为false时如果参数为空,则默认会赋值null,为true时代表必须要有值。
- @RequestParam的defaultValue=“”属性,在获取数据为null的情况下,会自动给参数设置默认值。
request.Parameter("")只能获取页面传递的参数,不能判断非空,或必填。
优势:
在项目中@RequestParam的好处在于可以免于写空值校验,在一些特殊情况下,如被多个url调用,有的传递参数,有的不传递参数,这时候需要对参数进行非空校验,request.Parameter("")在获取页面参数为null的时候还需要if判断,并重新赋值,而@RequestParam标签可以直接设置默认值,等于少写了两行代码。
备注:
用@RequestParam注解获取int类型参数并且required属性为false时,如果不传递数据,会自动赋值null,这样会报错,可以用defaultValue=“”给参数设置默认值的方式来避免报错。