For input string: ""请大神进来看一下,试了些方法都不对,新手求解

心中自然无码 2013-05-16 10:28:48
报错信息:
信息: exception while executing command org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd@14b2263
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Long.parseLong(Long.java:424)
at java.lang.Long.parseLong(Long.java:461)
at org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd.execute(SetTaskVariablesCmd.java:48)
at org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd.execute(SetTaskVariablesCmd.java:33)
at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
at org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(SpringCommandCallback.java:45)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:49)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)
at org.jbpm.pvm.internal.svc.TaskServiceImpl.setVariables(TaskServiceImpl.java:200)
at com.jbpm.managerimpl.JbpmManagerImpl.complate(JbpmManagerImpl.java:64)
at com.jbpm.action.JbpmAction.submit(JbpmAction.java:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)

根据提示报错的两个地方如下:
public void complate(String taskId, Map<String, Object> map) {
taskService.setVariables(taskId, map);
taskService.completeTask(taskId);
}


public String submit() {

String day = processDto.getDay();
map = new HashMap<String, Object>();

if ("" != day || null != day) {
map.put("day", Integer.parseInt(day));

} else {
map.put("day", Integer.parseInt("0"));
}
map.put("day", processDto.getDay());

map.put("owner", processDto.getOwner());
map.put("reason", processDto.getReason());
map.put("name", processDto.getOwner());
jbpmManager.complate(processDto.getTaskId(), map);

return SUCCESS;
}
...全文
8008 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
螃蟹哥哥 2013-05-16
  • 打赏
  • 举报
回复
还有在java中对象比较使用equals,但还是建议使用StringUtil
螃蟹哥哥 2013-05-16
  • 打赏
  • 举报
回复
if ("" != day || null != day) { map.put("day", Integer.parseInt(day)); } else { map.put("day", Integer.parseInt("0")); } map.put("day", processDto.getDay()); 红色部分和黄色部分重复,而且建议判断字符串为空或"",使用StringUtil.isEmpty(String)或者StringUtil.isBlank(String)
心中自然无码 2013-05-16
  • 打赏
  • 举报
回复
if (day!=null && !day.equals("")) 这个试了下,也不行。。。不知道什么稀奇古怪的错误
心中自然无码 2013-05-16
  • 打赏
  • 举报
回复
!day.trim().equals("") 这个也不行,还是一样的报错
小猴168 2013-05-16
  • 打赏
  • 举报
回复
if ("" != day || null != day)这句逻辑有问题吧,应该是这样吧 if (day!=null && !day.equals(""))
心中自然无码 2013-05-16
  • 打赏
  • 举报
回复
没有了,整个项目就day这里写了
  • 打赏
  • 举报
回复
既然day是字符串,那应该用equals去判断它是否为空吧? !day.trim().equals("")
  • 打赏
  • 举报
回复
自己看下有没有parseInt或者parseLong的语句,都判断下。
心中自然无码 2013-05-16
  • 打赏
  • 举报
回复
报错的是这两行 taskService.setVariables(taskId, map); jbpmManager.complate(processDto.getTaskId(), map);
心中自然无码 2013-05-16
  • 打赏
  • 举报
回复
回复fangmingshijie map.put("day", processDto.getDay()); 这句拿掉了还是报一样的错。 信息: exception while executing command org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd@1584be7 java.lang.NumberFormatException: For input string: "" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Long.parseLong(Long.java:424) at java.lang.Long.parseLong(Long.java:461) at org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd.execute(SetTaskVariablesCmd.java:48) at org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd.execute(SetTaskVariablesCmd.java:33) at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42) at org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(SpringCommandCallback.java:45) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:49) at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53) at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40) at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56) at org.jbpm.pvm.internal.svc.TaskServiceImpl.setVariables(TaskServiceImpl.java:200) at com.jbpm.managerimpl.JbpmManagerImpl.complate(JbpmManagerImpl.java:64) at com.jbpm.action.JbpmAction.submit(JbpmAction.java:122) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
CSDW 2013-05-16
  • 打赏
  • 举报
回复
提交的时候有为空的数据!
  • 打赏
  • 举报
回复
map.put("day", processDto.getDay()); 这一句就是多余的,你又绕回去了。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧