关于方法参数注解的问题

关于方法参数注解的问题

以下代码,login方法中的参数sn和password,似乎并不需要@ReuestParam这个注解,程序照样运行正常,

请问加与不加这个注解有何本质区别,对程序有什么影响?

http://img1.sycdn.imooc.com//climg/5e8bd2cb097ce05409640441.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,1、@RequestParam:将请求参数绑定到控制器的方法参数上(是springmvc中接收普通参数的注解)

    语法如下:

        @RequestParam(value=”参数名”,required=”true/false”,defaultValue="")

        value:参数名

        required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。

        defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值

        2、当使用springmvc中的@RequestParam的注解时,有时候没有传递@RequestParam注解对应的参数,在使用时可能会出现浏览器显示400的异常。

如上就是@RequestParam的一些使用规则,同学可以参考着理解一下。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

好帮手慕小班 2020-04-07 14:13:21

同学你好,

    @RequestParam注解的作用是将request的参数传入后台Controller类中的方法,作为方法参数。

    如果前台提供多个参数的时候要用@RequestParam,如果只有一个参数,并且当前台传入的值的name和方法参数名相同时,@RequestParam注解可以省略不写,如果不一样,也要写上。如果有多个参数时,建议写上@RequestParam

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 慕沐8221787 #1
    我的意思是,传多个参数时,如果不写@RequestParam,对程序有什么影响?问题中我也说了,通过测试,不写这个注解,对于本项目运行一切正常。
    2020-04-07 14:21:36
  • 好帮手慕小班 回复 提问者 慕沐8221787 #2
    同学你好,1、如果传递多个参数时,当前台传入的值的name和方法参数名不同时,需要编写上@RequestParam,如果名称是相同的可以不用添加@RequestParam。 2、同学测试过,不写对项目没有影响,说明同学的传入的值的name和方法参数名一致,所以不写也是可以的。不过还是建议同学加上@RequestParam具体指明一下。 如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
    2020-04-07 16:28:36
  • 提问者 慕沐8221787 #3
    我的目的是想从根本上理解这个注解的使用规则,只有达到这个深度才能算掌握哦。
    2020-04-07 18:28:13
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师