使用SpringMVC注解@RequestParam(value="XXX",required=false)时需要注意的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hellostory/article/details/7519358

错误描述:

@RequestMapping(value = "/index")
	public String index(@RequestParam(value = "action", required = false)
	String action, @RequestParam(value = "notIncludeTypeId", required = false)
	int notIncludeTypeId){
    // .... 省略代码
}

      当可选参数“notIncludeTypeId”为空时,系统出现如下错误: 

Optional int parameter 'notIncludeTypeId' is not present 
but cannot be translated into a null value due to being declared as a primitive type. 
Consider declaring it as object wrapper for the corresponding primitive type.

错误原因:

    当可选参数“notIncludeTypeId”不存在时,Spring默认将其赋值为null,但由于notIncludeTypeId已定于为基本类型int,所以赋值失败!

解决方法:

    “Consider declaring it as object wrapper for the corresponding primitive type.”建议使用包装类型代替基本类型,如使用“Integer”代替“int”



展开阅读全文

没有更多推荐了,返回首页