注解@RequestParam——取请求参数
2024-10-20 03:22:31
一、创建index.jsp
创建一个用来发送请求的测试jsp
<a href="springMVC/testRequestParam?username=lzj&age=20">Test RequestParam</a>
当发送该请求时,在控制方法中药获取请求中的参数username和age
二、控制器方法
@Controller
@RequestMapping("/springMVC")
public class TestSpringMVC { /*required:是否必须。默认为 true, 表示请求参数中必须包含对应
的参数,若不存在,将抛出异常*/
@RequestMapping("/testRequestParam")
public String testRequestParam(
@RequestParam(value="username") String username1,
@RequestParam(value="age",required=false) Integer age1){ System.out.println("testRequestParam: " + "username=" + username1 + "; " + "age=" + age1);
return "success";
}
}
当点击index.jsp中的请求连接时,控制器会截获该请求并处理请求,@RequestParam注解会把请求中的参数username 和age映射给控制器中的username1和age1参数,执行成功后,回显success.jsp。控制台输出:
testRequestParam: username=lzj; age=20
注意1:@RequestParam注解中参数age设置了required=false,如果不设置,默认required=true。当required为true时,请求中必须要有age参数,否则会失败;当required为false时,请求中可以没有age参数,请求也不会失败,这种情况可以防止请求中忘记传入某个参数,不至于请求失败。
注意2:用@RequestParam注解从请求参数中映射到控制器中的参数时,控制器的参数一定要用对象类型或简单类型的包装类。例如
@RequestParam(value="age") Integer age1)不能写成@RequestParam(value="age") int age1),不能用简单int类型去接收请求中的整数。因为,若请求中的对象为空,则int类型的参数不能接收空对象,int类型的参数必须要有一个默认值的。
若想用简单类型去接收请求中的值,需要赋值一个默认值,写成如下的形式:@RequestParam(value = "age", required = false, defaultValue = "0") int age1)
最新文章
- Win10全屏看视频时任务栏不隐藏
- Nodejs生态圈的TypeScript+React
- [LintCode] Minimum Size Subarray Sum 最小子数组和的大小
- 将对象转为数组方法:延伸array_map函数在PHP类中调用内部方法
- C# 数字证书微信API调用使用参考事例
- angularJS测试一 Karma Jasmine Mock
- More is better(hdu 1856 计算并查集集合中元素个数最多的集合)
- Xcode中AutoLayOut的简单使用
- sql语法总结
- Vue Baidu Map局部注册实现和地图绘点
- Python编程练习:使用 turtle 库完成六边形的绘制
- Activiti For Eclipse(Mars)插件配置
- LOJ2522:[FJOI2018]邮递员问题(乱搞)
- python在linux的报错集锦
- 洛谷4059找爸爸(Code+第一次月赛)
- spark SQL概述
- max-sum-of-sub-matrix-no-larger-than-k
- SpringBoot配置Shiro时@RequiresRoles不起作用
- installshield 判断mdmcpq.inf和usbser.sys 是否 存在
- Python调用C++DLL函数出错String类型问题