码迷,mamicode.com
首页 > 其他好文 > 详细

@RequestParam

时间:2018-03-01 21:42:23      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:cti   value   als   不可   res   parameter   接收   赋值   表示   

Spring MVC 后台获取参数的方式大概有三种:

1. request.getParameter("key")

2.ServletRequestUtils.getIntParameter(request, "key", Consts.FEATURED_ACTIVE);

3.@RequestParam

1、String name

2、String value

3、boolean required

4、String defaultValue

其中name和value分别是对方的别名,即二者没区别

但是只有第二种和第三种可以设置默认值,并且第三种设置默认值值要用引号包裹起来,所以如果参数是非字符串类型则默认值不能编译。

今天主要说说第三种方法。

在前端请求参数名称和后端接收参数名称不一致的情况下,需要使用该注解

// 下面的对传入参数指定为aa,如果前端不传aa参数名,会报错  
@RequestParam(value="aa") String inputStr  

如果使用该注解,必须通过required=false或true来要求参数是否必须要传,默认必须要传,不传则报错

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

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

如果后台方法接收集合必须使用该注解并且参数不能省略

        @RequestMapping("/delete")
    @ResponseBody
    public Data delete(@RequestParam("id") List<Long> id) {     

 

@RequestParam

标签:cti   value   als   不可   res   parameter   接收   赋值   表示   

原文地址:https://www.cnblogs.com/yangfei-beijing/p/8490259.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!