action里有这样一句代码来获得JSP页面表单里面的值
    int state = Integer.parseInt(request.getParameter("carstate"));
    异常错误:
          java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Integer.java:415)
java.lang.Integer.valueOf(Integer.java:553)
Action.carAction.findCarState(carAction.java:135)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
JavaBean.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter
       请问String转换这样为啥会有错???
        等待解答

解决方案 »

  1.   

    request.getParameter("carstate"这句话能保证获取到值吗?
    如果为空,再进行强制类型转换是要报错的
      

  2.   

    因为request.getParameter("carstate")可能为"",null,或者包含了非数字的字符串...
    你打印request.getParameter("carstate")就知道为什么报错了
      

  3.   

    java.lang.NumberFormatException: null 
    request.getParameter("carstate");获取的数据为null,类型转报错!!
      

  4.   

    你先把request.getParameter("carstate")输出来
    System.out.println(request.getParameter("carstate"));看是你需要的数值不,是数字的话就可以强转,
    不是的话,就会报这错误
      

  5.   

    代码看似不错,但是有2个BUG
    1 request.getParameter()如果得到null怎么办
    2 得到的不是数字怎么办
    看你的错误很有可能就是第二种情况了!
    代码要写的健壮,也就是这个道理,不能只为了实现自己的功能而想当然!
      

  6.   

    request.getParameter("carstate") 
    为空不能这样转,先判别一下吧
    int state = 0;
    if(request.getParameter("carstate")!=null){
     state = Integer.parseInt(request.getParameter("carstate")); 
    }
      

  7.   

    建立还是自己多试试。这个问题很普遍,如果自己调试一下,或者对Exception了解的话,很容易知道问题出在哪里!自己多试试,是学习态度。
      

  8.   

    NumberFormatException这个是格式不对所抛出的一个异常,只有传过来的数值是整数时才能按LZ你那样用,如果不是在jsp页面里编辑的话,要用到try、catch来捕捉异常
      

  9.   

     int state = Integer.parseInt(request.getParameter("carstate")); 
    request获取的是值是null吧,这样转换肯定报错啊,
    可以这样写: int state =request.getParameter("carstate")==null?0:Integer.parseInt(request.getParameter("carstate")); 
    如果等于null值,就赋给一个0,不为null的话,就强转,这样程序可以继续运行下去的!
      

  10.   


    从你的错误上来看 是无法将NULL转化为int!
    你看下传递对了没!