买了域名之后怎么建设网站,wordpress 空行,旅游圈wordpress主题,湖北网络推广SpringMVC注解RequestParam全面解析
在此之前#xff0c;写项目一直用的是RequestParam#xff08;value“aa” requiredfalse#xff09;这个注解#xff0c;但是并不知道它的意思。现在懂了#xff0c;特来记录下。
1、可以对传入参数指定参数名
1 RequestParam Stri…SpringMVC注解RequestParam全面解析
在此之前写项目一直用的是RequestParamvalue“aa” requiredfalse这个注解但是并不知道它的意思。现在懂了特来记录下。
1、可以对传入参数指定参数名
1 RequestParam String inputStr
2 // 下面的对传入参数指定为aa如果前端不传aa参数名会报错
3 RequestParam(valueaa) String inputStr 2、可以通过requiredfalse或者true来要求RequestParam配置的前端参数是否一定要传
1 // requiredfalse表示不传的话会给参数赋值为nullrequiredtrue就是必须要有
2 RequestMapping(testRequestParam)
3 public String filesUpload(RequestParam(valueaa, requiredtrue) String inputStr, HttpServletRequest request) 3、如果requestParam注解的参数是int类型并且requiredfalse此时如果不传参数的话会报错。原因是requiredfalse时不传参数的话会给参数赋值null这样就会把null赋值给了int因此会报错。
1 // requiredfalse表示不传的话会给参数赋值为nullrequiredtrue就是必须要有
2 RequestMapping(testRequestParam)
3 public String filesUpload(RequestParam(valueaa, requiredfalse) int inputStr, HttpServletRequest request)
4 若是前端页面不传参的话此处就会报错。当然可以用Integer代替int注解RequestParam如何使用加与不加的区别\
springmvc为我们提供了多个注解来处理入参和返回值RequestParam就是用来处理入参的但可能你会奇怪平时不使用这个参数也可以获取到参数呀确实加与不加都可以获取参数但还是有区别的下面就来看下如何使用和区分
方法/步骤 1 为演示效果首先需要创建一个测试控制类然后创建一个测试方法如图所示方法里添加一个参数此时方法参数没有添加注解 2 通过idea工具启动web项目然后通过浏览器访问测试效果不带参数则获取的参数为null但页面可以正常显示请求可以正常的执行带上参数之后参数可以正常的获取并打印出来了 3 下面来对比下添加注解的效果但只是添加RequestParam没有带任何的注解设置参数。 4 再次通过浏览器访问查看效果此时带上userName参数页面可以正常显示并打印出结果值但如图所示不带参数的时候页面报错返回400并提示userName不存在 5 当然这样的限制是可以选择的RequestParam里添加requiredfalse来关闭必须参数的限制这样就和不带第一种不带注解的效果一样了 6 RequestParam还可以在参数为空的情况下为我们设置一个参数的默认值如图所示可以看出来没有参数的情况下获取到的就是默认值 7 默认参数的key名称是方法里的参数名称但通过RequestParam可以自定义另外一个因为在某些条件下方法名称固定下来不可以修改了但请求的参数又需要通过另外一个参数key名称来传递这样就可以通过这样的方式来实现 END
注意事项
虽然加与不加都可以获取到参数但特定的需求或限制的时候就需要结合RequestParam注解来使用了。