文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SpringMVC中RequestParam注解怎么用

2023-06-29 12:03

关注

这篇“SpringMVC中RequestParam注解怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringMVC中RequestParam注解怎么用”文章吧。

1、前言

作用:主要用于对前端请求的参数进行一些约束,包括参数名不匹配问题、是否必须、默认值!

这个注解非常简单,准确的说应该是MVC中除了Controller之外最简单的注解。

@Target(ElementType.PARAMETER)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @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反射加载到!

2、name/value属性

这两个属性是当前后端参数不匹配时进行前后端参数转换,即前端 - name/value - 后端参数!

一旦加了设置name/value表示这个参数必须传递,否则400错误

这种做法很鸡肋,不匹配直接照着前端改就行,有点画蛇添足。

@RequestMapping("/hello2")public String get2(@RequestParam("a") String args, Model model){    model.addAttribute("value", args);    return "hello";}

SpringMVC中RequestParam注解怎么用

3、required属性

这个属性是搭配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";}

SpringMVC中RequestParam注解怎么用

4、defaultValue属性

表示在没有传递参数的的情况下的该参数使用的默认值。

一般搭配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注解怎么用

以上就是关于“SpringMVC中RequestParam注解怎么用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯