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

原文地址为: 使用SpringMVC注解@RequestParam(value="XXX",required=false)时需要注意的问题

错误描述:

@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”




转载请注明本文地址: 使用SpringMVC注解@RequestParam(value="XXX",required=false)时需要注意的问题

猜你喜欢

转载自blog.csdn.net/zhengxiuchen86/article/details/80959339