案例来说明

 @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一样。这里就不做多的讲解了。

最新文章

  1. AndroidManifest.xml的android:name是否带.的区别
  2. JavaScript之闭包
  3. Getting Started with Blocks
  4. 【python cookbook】【数据结构与算法】2 从任意长度的可迭代对象中分解元素
  5. hdu 1217 (Floyd变形)
  6. 2 weekend110的HDFS的JAVA客户端编写 + filesystem设计思想总结
  7. BZOJ NOI十连测 第二测 T1
  8. [poj3904]Sky Code_状态压缩_容斥原理
  9. 转:NLP+句法结构(三)︱中文句法结构(CIPS2016、依存句法、文法)
  10. mysql-索引、关系、范式
  11. 2017-12-19python全栈9期第四天第二节之列表的增删查改之公共方法len和count和index
  12. Java基础总结3
  13. CentOS7下Django环境的搭建安装python3.6.5,virtualenv django1.11.14
  14. linux tcp server
  15. oracle查询buffer cache中undo大小
  16. mac下安装nginx及相关配置
  17. Python3内置函数——reversed() = 翻转我的世界
  18. PowerShell使用ServicePrincipal登陆Azure
  19. sql server 按外键分组查询
  20. PHP 7.0 EOL (PHP 技术支持相关)

热门文章

  1. Unity Lighting - Light Types 灯光类型(八)
  2. Animator & Timeline
  3. header field token is not allowed by Access-Control-Allow-Headers in preflight response问题解决
  4. [CF1137]Museums Tour
  5. Paper Reading - Deep Captioning with Multimodal Recurrent Neural Networks ( m-RNN ) ( ICLR 2015 ) ★
  6. eos开发实践
  7. A Bug's Life(加权并查集)
  8. Python:模块学习——sys模块
  9. 团队项目NABCD
  10. UVALive - 6916 Punching Robot Lucas+dp