Spring MVC @RequestParam
2024-09-03 18:45:15
案例来说明
@RequestMapping("user/add")
public String add(@RequestParam("name") String name,
@RequestParam("age") int age){
System.out.println(name+","+age);
return "hello";
}
测试1
当我们请求路径为:http://localhost:8080/springmvc-1/user/add?name=caoyc&age=18
输出结果:caoyc,18
测试2
当我请求路径为:http://localhost:8080/springmvc-1/user/add?age=18
输出结果:有异常出现。意思是说必须要有该参数
解决方案:在@RequestParam标签中添加一个required=false,表示该属性不是必须的
@RequestParam(value="name",required=false)
输出结果:null,18
测试3
当我请求路径为:http://localhost:8080/springmvc-1/user/add?name=caoyc
同样出现上面的异常
那么根据上面的方法设置
@RequestParam(value="age",required=false) int age
结果再运行。还是抛出异常
这里也说到很明白,大概意思是说不能讲一个null的空值赋给age。应该使用包装类型
那么我们将代码改成这样:
@RequestParam(value="age",required=false) Integer age
结果正确输出:caoyc,null
这里还有另外一种改法:给参数指定一个默认值
@RequestParam(value="age",required=false,defaultValue="0") int age
结果输出:caoyc,0
【总结】对应@RequestParam基本类型的参数我们最好都使用包装类型
还有相识的注解
@RequestHeader。使用方式和@RequestParam一样。这里就不做多的讲解了。
最新文章
- AndroidManifest.xml的android:name是否带.的区别
- JavaScript之闭包
- Getting Started with Blocks
- 【python cookbook】【数据结构与算法】2 从任意长度的可迭代对象中分解元素
- hdu 1217 (Floyd变形)
- 2 weekend110的HDFS的JAVA客户端编写 + filesystem设计思想总结
- BZOJ NOI十连测 第二测 T1
- [poj3904]Sky Code_状态压缩_容斥原理
- 转:NLP+句法结构(三)︱中文句法结构(CIPS2016、依存句法、文法)
- mysql-索引、关系、范式
- 2017-12-19python全栈9期第四天第二节之列表的增删查改之公共方法len和count和index
- Java基础总结3
- CentOS7下Django环境的搭建安装python3.6.5,virtualenv django1.11.14
- linux tcp server
- oracle查询buffer cache中undo大小
- mac下安装nginx及相关配置
- Python3内置函数——reversed() = 翻转我的世界
- PowerShell使用ServicePrincipal登陆Azure
- sql server 按外键分组查询
- PHP 7.0 EOL (PHP 技术支持相关)
热门文章
- Unity Lighting - Light Types 灯光类型(八)
- Animator &; Timeline
- header field token is not allowed by Access-Control-Allow-Headers in preflight response问题解决
- [CF1137]Museums Tour
- Paper Reading - Deep Captioning with Multimodal Recurrent Neural Networks ( m-RNN ) ( ICLR 2015 ) ★
- eos开发实践
- A Bug's Life(加权并查集)
- Python:模块学习——sys模块
- 团队项目NABCD
- UVALive - 6916 Punching Robot Lucas+dp