日期:2014-05-17  浏览次数:20802 次

表单获取id值后出现的问题
希望各位能帮忙解决,谢谢!急!!!
String id1=smartupload.getRequest().getParameter("id").trim();
int id;
if(id1==null||id1==" "){
id=0;
}else{
// id=Integer.valueOf(id1).intValue();
id=Integer.parseInt(id1);
}

出现问题为:
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.parseInt(Integer.java:497)
at www.oraffi.com.control.HandleEditOrder.continueDoPost(HandleEditOrder.java:100)
at www.oraffi.com.control.HandleEditOrder.doPost(HandleEditOrder.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
可我觉得这问题是不应该出现的,应该是正常的不是?就是不知道问题出在哪,非常需要你们的帮忙,谢谢!
------解决方案--------------------
if(id1==null
------解决方案--------------------
id1==" ")

应修改为

if(id1==null 
------解决方案--------------------
 id1.equals(""))
------解决方案--------------------
if(id1==null
------解决方案--------------------
id1==" ")这句貌似有问题
如果是个字符串  就不能用==来判断 .equels("")
if(id1==null
------解决方案--------------------
id1.toString.trim().equels(""))

------解决方案--------------------
String id1=smartupload.getRequest().getParameter("id").trim();




我无语了!!!

这么明显的错误大家居然都没有发现!!

代码分明还没有执行到if  else 里面好伐!!



下个断点很明显救出来了!




获取的时候不能trim(),为什么!


因为你获取的可能是null,null怎么可以trim()
呢!




哦,然来是这样的!
------解决方案--------------------
try catch 捕捉异常
断点调试
基本上BUG是这么一个解决方法