SpringMVC中@RequestMapping处理请求参数的@RequestParam注解
程序员文章站
2022-07-03 23:21:08
...
首先在页面添加一个带有参数的请求,分别是username和age
<a href="springmvc/testRequestParam?username=yoni&age=20">Test RequestParam</a>
然后在类中添加方法
@RequestMapping("/testRequestParam")
public String testRequestParam(@RequestParam(value="username") String username,
@RequestParam(value="age") int age ){
System.out.println("Test RequestParam UserName:" + username + ",age:"+ age);
return SUCCESS;
}
运行页面,后台会显示
Test RequestParam UserName:yoni,age:20
如果将请求修改为
<a href="springmvc/testRequestParam?username=yoni">Test RequestParam</a>
会出现报错,
HTTP Status [400] – [Bad Request]
Type Status Report
Message Required Integer parameter 'age' is not present
Description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
可以在注解中添加required = false,并将age定义为Integer,问题解决。
@RequestMapping("/testRequestParam")
public String testRequestParam(@RequestParam(value="username") String username,
@RequestParam(value="age",required = false) Integer age ){
System.out.println("Test RequestParam UserName:" + username + ",age:"+ age);
return SUCCESS;
}
但如果非要设置成int,那需要给age参数附一个默认值,修改代码如下
@RequestMapping("/testRequestParam")
public String testRequestParam(@RequestParam(value="username") String username,
@RequestParam(value="age",required = false,defaultValue="0") Integer age ){
System.out.println("Test RequestParam UserName:" + username + ",age:"+ age);
return SUCCESS;
}
@RequestParam注解中,value对应的是请求参数中的参数名,requirde是设置该参数是否必须存在,defaultValue是设置该参数的默认值。
上一篇: debian10 搭建本地镜像源
下一篇: Spring中,请求参数处理
推荐阅读
-
SpringMVC处理参数中的枚举类型通用实现
-
SpringMVC中如何解决POST请求中文乱码问题GET的又如何处理
-
SpringMVC 中@RequestParam注解、@RequestHeader注解、@RequestBody注解请求
-
SpringMVC中RequestMapping注解(作用、出现的位置、属性)
-
js处理url中的请求参数(编码/解码)
-
SpringMVC中@RequestMapping处理请求参数的@RequestParam注解
-
请求拦截器中对于get的请求参数的处理
-
请求路劲中中文参数的处理
-
在请求中传入不定长参数实现不同的逻辑处理的解决办法
-
SpringMVC处理参数中的枚举类型通用实现