Java 可选长参数';id';存在,但由于被声明为基元类型,因此无法转换为null值
我有一个ajax函数,它调用一个控制器函数,但它没有进入控制器。我在控制器函数中得到了上面的异常 我将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
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)