@RequestParam设置默认可以传空值
设置如下
@RequestParam(value="CbqkJson[]",required=false)String[] CbqkJson
如果不设置空值,是默认必须传值的。有时候没值,前台也无法传个空的值过来时,就会出现无法进方法的情况。
注:参数名称必须与value里面的完全一样,包括那个[]。如果前台用的框架传数组没有那个[],则可以取消掉[]改成"CbqkJson"
参数类型则是以后面定义的类型为主的,如果参数类型不是String[]而是String,那么value里面不管你写什么,接收的都只会是一个字符串
使用RequestParam遇到的一些坑(总结)
@RequestParam有三个常用的注解
value
:表示前端传到后端时,变量的名称。(例如:前端传到后端的参数:userName="Tom",那么@RequestParam(value = "userName") String xxx)required
:boolean类型,值为true/false。需要特别注意:required参数的意思其实更接近于在前端传递到后端的参数中,是否包含这个参数。什么意思呢?比如@RequestParam(value = "userName", required = true) String xxx),你传userName=""是可以通过验证的,即可以required = true并不杜绝传递空值,只是验证传递的参数中是否含有userName。所以检验参数的合法性一般还需要自行处理。defaultValue
:为参数赋一个默认值。 需要特别注意:如果设置了defaultValue,required设置将会失效,所以如果设置了defaultValue,就没必要设置required了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。