码迷,mamicode.com
首页 > 编程语言 > 详细

Spring MVC @RequestParam(5)

时间:2018-08-18 19:36:20      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:标签   return   ade   bar   head   san   title   pre   案例   

案例来说明

技术分享图片
1 @RequestMapping("user/add")
2 public String add(@RequestParam("name") String name,
3             @RequestParam("age") int age){
4         System.out.println(name+","+age);
5     return "hello";
6 }
技术分享图片

 

测试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,表示该属性不是必须的

1 @RequestParam(value="name",required=false)

输出结果:null,18

 

 测试3

 当我请求路径为:http://localhost:8080/springmvc-1/user/add?name=caoyc

 同样出现上面的异常

技术分享图片

那么根据上面的方法设置

1 @RequestParam(value="age",required=false) int age

结果再运行。还是抛出异常

技术分享图片

这里也说到很明白,大概意思是说不能讲一个null的空值赋给age。应该使用包装类型

 

那么我们将代码改成这样:

1 @RequestParam(value="age",required=false) Integer age

结果正确输出:caoyc,null

 

 

这里还有另外一种改法:给参数指定一个默认值

1 @RequestParam(value="age",required=false,defaultValue="0") int age

结果输出:caoyc,0

 

【总结】对应@RequestParam基本类型的参数我们最好都使用包装类型

 

还有相识的注解

@RequestHeader。使用方式和@RequestParam一样。这里就不做多的讲解了。

Spring MVC @RequestParam(5)

标签:标签   return   ade   bar   head   san   title   pre   案例   

原文地址:https://www.cnblogs.com/weiqingfeng/p/9498166.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!