使用@RequestParam设置默认可以传空值

@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了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • @RequestParam使用defaultValue属性设置默认值的操作

    @RequestParam使用defaultValue属性设置默认值 注意设置必须是string类型的,框架自己会做转换 @RequestParam(value = "page", required = false, defaultValue = "1") Integer page, @RequestParam(value = "size", required = false) Integer size, 补充:@RequestParam注解的使

  • 浅谈@RequestParam 参数是否必须传的问题

    一.源码展示 @Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface RequestParam { @AliasFor("name") String value() default ""; @AliasFor("value") String name() default ""; boolea

  • @PathVariable为空时指定默认值的操作

    @PathVariable为空时指定默认值, 可以指定多个匹配路径,然后设置参数非必要的,就可以了,例子如下 @RequestMapping(value = {"/timeline/{uid}", "/timeline/{uid}/{size}"}) public ModelAndView getTimeline(@PathVariable(value="uid" ) String articleUserId, @PathVariable(val

  • SpringMVC注解@RequestParam方法原理解析

    一.作用 作用在方法传递的参数前,用于接收所传参数 例如:http://localhost:8081/selectStudentById?id=01 接收问号后面的参数值(允许多个参数) 二.注解内部的四个属性 1.name 指定传入的参数名称,其后面跟的参数名称一定要与前端传入的参数名称一致 2.value 指定传入的参数名称,其后面跟的参数名称一定要与前端传入的参数名称一致 3.requred 指定参数是否是必传参数,如果不指定,默认为true 4.defaultValue 指定参数的默认值

  • 使用@RequestParam设置默认可以传空值

    @RequestParam设置默认可以传空值 设置如下 @RequestParam(value="CbqkJson[]",required=false)String[] CbqkJson 如果不设置空值,是默认必须传值的.有时候没值,前台也无法传个空的值过来时,就会出现无法进方法的情况. 注:参数名称必须与value里面的完全一样,包括那个[].如果前台用的框架传数组没有那个[],则可以取消掉[]改成"CbqkJson" 参数类型则是以后面定义的类型为主的,如果参数

  • Angular2中select用法之设置默认值与事件详解

    本文主要给大家介绍了Angular2中select用法之设置默认值与事件的相关内容,分享出来供大家参考学习,下面来看看详细的介绍: 一.设置默认值: 现在有三个学生小明,小红,小黑,对双向绑定的student设置你想要的select值就可以在下拉框默认选中 code1: 设置"请选择"为默认项,只需要把变量student设置为'',即可默认到"请选择",需要注意的是 <option value="">请选择</option>

  • element-ui中的select下拉列表设置默认值方法

    element-ui中的select下拉列表如何设置默认值? 在element-ui的运用中,涉及到了select下拉列表.项目中需要将select的默认值给展示出来 那如何修改呢? 上element-ui中的代码片段 <template> <el-select v-model="value" placeholder="请选择"> <el-option v-for="item in options" :key=&qu

  • Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)

    1.前阶段做了这个地址管理页面,实现的过程中遇到了很多的问题,好在最后实现了,在此记录一下: 首先是加载页面阶段ajax从数据库中获取数据,然后动态的显示在页面中,随后可以点击单个的编辑或删除进行相关操作,可以单击默认地址按钮进行样式切换,默认地址可以没有(单击选中和取消),但是如果设置默认地址则只能设置一个,好,下面我们来一步一步的实现. 2.我这里使用的是Vue.js,页面加载阶段很简单,直接在mounted声明一个方法,然后在方法中调用ajax请求访问数据然后通过v-for循环将数据放入到

  • Django model.py表单设置默认值允许为空的操作

    blank=True 默认值为blank=Flase,表示默认不允许为空, blank=True admin级别可以为空 null=True 默认值为null=Flase,表示默认不允许为空 null=True 数据库级别可以为空 补充知识:Django中models.py字段选项null和blank的区别和使用 1.null 如果null=True,数据库中空值储存为NULL,默认为False. 2.blank 如果blank=True,则允许字段为空.默认为False. 需要注意的是,这不同

  • Vue props中Object和Array设置默认值操作

    我就废话不多说,看代码吧~ seller: { type: Object, default() { return {} } } seller: { type: Object, default: function () { return {} } } 当父组件没有传这个值或者值是空时,输出的话,返回: 下面这种是错误的 seller: { type: Object, default: () => {} } 当父组件没有传这个值或者值是空时,输出的话,这时是返回underfind,在template

  • MySQL如何修改字段的默认值和空值

    目录 MySQL修改字段的默认值和空值 修改字段默认值 修改字段值是否为空 MySQL默认值NULL.空值.Empty String的区别 如何选择? 先说结论 区别 MySQL修改字段的默认值和空值 修改字段默认值 修改: ALTER TABLE 表名 ALTER COLUMN 字段名 SET DEFAULT 默认值 删除: ALTER TABLE 表名 ALTER COLUMN 字段名 DROP DEFAULT 修改字段值是否为空 设为空: ALTER TABLE 表名 MODIFY 字段名

  • golang给函数参数设置默认值的几种方式小结(函数参数默认值

    目录 前言 强制改变 使用可变参数语法糖 利用结构体的config 转换函数的全部参数 补充知识:Golang中设置函数默认参数的优雅实现 总结 前言 这个问题相当麻烦,根据golang-nuts/google groups中的这篇文章,golang现在与将来都不会支持参数默认值.Go始终在使得自己变得尽可能的简单,而增加这种额外的支持会使parser变得更复杂. 设置参数值的好处: 可以缺省部分参数. 可以提供一种默认的,行之有效的配置. 但是参考资料中提到了几种实现默认值的方法: 强制改变

  • 使用jQuery给input标签设置默认值

    由于项目需求,简单地写了一个input默认值设置,实现给.form中所有的input设置默认值的方法. <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>input默认值设置</title> <script type="text/javascript" src="http://apps.bdimg.com/li

随机推荐