这篇“SpringMVC中RequestParam注解怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringMVC中RequestParam注解怎么用”文章吧。
作用:主要用于对前端请求的参数进行一些约束,包括参数名不匹配问题、是否必须、默认值!
这个注解非常简单,准确的说应该是MVC中除了Controller之外最简单的注解。
@Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface RequestParam { @AliasFor("name") String value() default ""; @AliasFor("value") String name() default ""; boolean required() default true; String defaultValue() default ValueConstants.DEFAULT_NONE; }
虽然有四个属性实际上就三个,name属性和value属性一个意思,相互起别名跟对方一样。
Target的元注解约束这个注解只能使用在参数上,Retention元注解表示这个注解的保存时间这里表示可以在运行时JVM反射加载到!
这两个属性是当前后端参数不匹配时进行前后端参数转换,即前端 - name/value - 后端参数!
一旦加了设置name/value表示这个参数必须传递,否则400错误。
这种做法很鸡肋,不匹配直接照着前端改就行,有点画蛇添足。
@RequestMapping("/hello2") public String get2(@RequestParam("a") String args, Model model){ model.addAttribute("value", args); return "hello"; }
这个属性是搭配name/value一起使用的,默认不指定情况下是true。
上文中发现一旦设置了name/value表示这个参数必须要有,而required可以设置为false表示这个参数可有可无!
@RequestMapping("/hello3") public String get3(@RequestParam(name = "a", required = false) String args, Model model){ model.addAttribute("value", args); return "hello"; }
表示在没有传递参数的的情况下的该参数使用的默认值。
一般搭配required=false一起使用!如果required=true必须指定那还需要默认值干啥?
@RequestMapping("/hello4") public String get4(@RequestParam(name = "a", defaultValue = "这是默认值", required = false) String args, Model model){ model.addAttribute("value", args); return "hello"; }
以上就是关于“SpringMVC中RequestParam注解怎么用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。