advanceId=null
09:18:31,968  WARN RequestProcessor:516 - Unhandled Exception thrown: class java.lang.NumberFormatException
09:18:32,000 ERROR [action]:253 - Servlet.service() for servlet action threw exception
java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at com.sgoa.struts.action.AdvanceDelAction.execute(AdvanceDelAction.java:42)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.sgoa.helper.GbkFilter.doFilter(GbkFilter.java:29)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)    那位遇到过类似的错误希望能帮忙!

解决方案 »

  1.   

    对,就是为什么取不到值。下面是部分代码:
    我在form里设<input type="hidden" value="<%=obj.getAdvanceNo()%>" name="advanceNo">
    在action里public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    log.debug("UserAddSubAction.execute()");

    String advanceId=request.getParameter("advanceNo");
    System.out.println("advanceId="+advanceId);
    Integer advanceNo=Integer.parseInt(request.getParameter("advanceNo"));
    advanceService.delete(advanceNo);
    return mapping.findForward("success");

    }
    怎么取不到
      

  2.   

    obj.getAdvanceNo()这个值为空。自己检查下OBJ
      

  3.   

    String advanceId=request.getParameter("advanceNo");
    按理说这是应该能获取到的,如果楼主的表单提交了的话。如果提交了获取不到,那就要看一下配置文件了,是否配置了form-bean
      

  4.   

    应该是 obj.getAdvanceNo()获取的值为null,而<%=obj.getAdvanceNo()%>表达式的输出值是调用toString,所以你可以看一下页面的源代码该隐藏域的value="null",实际上,request.getParameter("advanceNo")获取到的值是字符串"null",可以debug一下