Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 可选长参数';id';存在,但由于被声明为基元类型,因此无法转换为null值_Java_Spring - Fatal编程技术网

Java 可选长参数';id';存在,但由于被声明为基元类型,因此无法转换为null值

Java 可选长参数';id';存在,但由于被声明为基元类型,因此无法转换为null值,java,spring,Java,Spring,我有一个ajax函数,它调用一个控制器函数,但它没有进入控制器。我在控制器函数中得到了上面的异常 我将long改为long。但是id值正在获取null。 我的ajax url var url ="/portal/userUpdate?id="+id+"&uName="+uName+"&userUid="+userUid+"&userconctactno="+userconctactno; 控制器代码: @RequestMapping(value = "/userUpda

我有一个ajax函数,它调用一个控制器函数,但它没有进入控制器。我在控制器函数中得到了上面的异常

我将
long
改为
long
。但是id值正在获取
null
。 我的ajax url

var url ="/portal/userUpdate?id="+id+"&uName="+uName+"&userUid="+userUid+"&userconctactno="+userconctactno;
控制器代码:

@RequestMapping(value = "/userUpdate")
        public @ResponseBody StatusResponse userList(@RequestParam(required = false) long id,@RequestParam(required = false) String uName,
                @RequestParam(required = false) String userUid,@RequestParam(required = false) String userconctactno, Model model)
                throws ParseException, SQLIntegrityConstraintViolationException {
            System.out.println("--userUpdation--");
            //Mode code here


}
它不会打印system.out.println消息

例外情况:

java.lang.IllegalStateException: Optional long parameter 'id' is 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.
at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.handleNullValue(AbstractNamedValueMethodArgumentResolver.java:205) ~[spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:98) ~[spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:78) ~[spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:162) ~[spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:129) ~[spring-web-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) ~[spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:814) ~[spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:737) ~[spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) ~[spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) ~[spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969) ~[spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871) ~[spring-webmvc-4.2.4.RELEASE.jar:4.2.4.RELEASE]

您可以将id声明为
Long
,而不是
Long
,因此可以将其设置为null。。。。这正是异常告诉您要做的,很有帮助。您是否尝试按照异常中的说明进行操作?当使用Long而不是Long运行代码时,是否仍会出现相同的异常?它看起来仍然像一个长id@RequestParam(required=false)。您可以将id声明为
Long
,而不是
Long
,因此可以将其设置为null。。。。这正是异常告诉您要做的,很有帮助。您是否尝试按照异常中的说明进行操作?在使用Long而不是Long运行代码时,是否仍会出现相同的异常?它看起来仍然像一个长id@RequestParam(required=false)