报错的地方java.lang.NumberFormatException: For input string: "on"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at com.bellsent.servlet.EditManagementServlet.doPost(EditManagementServlet.java:66)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
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:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)我的代码:
String dType = request.getParameter("dType");
String dIpAdd = request.getParameter("dIpAdd");
int dPort = Integer.parseInt(request.getParameter("dPort"));

String dDescription = request.getParameter("dDescription");
String dUsrName = request.getParameter("dUsrName");
String dUsrPwd = request.getParameter("dUsrPwd");
int videoChannels = Integer.parseInt(request.getParameter("videoChannels"));
String vch1 = request.getParameter("vch1");
String vch2 = request.getParameter("vch2");这个错误貌似是说数据转换问题,或者是其他问题,纠结了好长时间,也baidu了好长时间,不知道怎么解决?求帮助~~~

解决方案 »

  1.   

    Integer.parseInt之前先打印一下变量不就知道了
      

  2.   


    错误在你的 EditManagementServlet.java:66行 ,数据类型错误,java.lang.NumberFormatException: For input string: "on" 你贴的代码里没有66行
      

  3.   

    是不是String类型转成int型的转错了啊
    换种方式转试试 Integer intObj = new Integer(user.getWorkendtime());
        int inte = intObj.intValue();
      

  4.   

    java.lang.NumberFormatException: For input string: "on"
        at java.lang.NumberFormatException.forInputString(Unknown Source)
        at java.lang.Integer.parseInt(Unknown Source)at com.bellsent.servlet.EditManagementServlet.doPost(EditManagementServlet.java:66)
    int dPort = Integer.parseInt(request.getParameter("dPort")); request.getParameter("dPort") 这个值应该为 "on"了,不能转换
      

  5.   

    有66行代码的,就是那个
    int videoChannels = Integer.parseInt(request.getParameter("videoChannels"));        有时候就报61行
    int dPort = Integer.parseInt(request.getParameter("dPort"));        
      

  6.   

    是int类型转String类型的时候转错的,同一个项目里只是不同的页面,另一个就没出问题,这一个就出问题了
      

  7.   

    有时候是
    java.lang.NumberFormatException:null
         at java.lang.Integer.parseInt(Unknown Source)
         at java.lang.Integer.parseInt(Unknown Source)这样的错误
      

  8.   

     int dPort = Integer.parseInt(request.getParameter("dPort"));       
    对应的页面代码贴出来看看
      

  9.   

    int videoChannels = Integer.parseInt(request.getParameter("videoChannels"));       应该是request.getParameter("videoChannels")不是纯数字字符串,Integer.parseInt只能转换纯数字的。
    在报异常的时候,你把request.getParameter("videoChannels") 用system.out.println 打印出来看看
      

  10.   

    在int dPort = Integer.parseInt(request.getParameter("dPort"));里输出的是我填写的8080,而 int videoChannels = Integer.parseInt(request.getParameter("videoChannels")); 选择了它什么都没输出~~~
      

  11.   

    那太简单了,因为它没有值,所以request.getParameter("videoChannels")=="" 空是无法被转换成Ingteger 或者int的,你要加一个判断  int videoChannels = 0;
    if(null != request.getParameter("videoChannels") && !"".equals(request.getParameter("videoChannels").trim)){
     videoChannels = Integer.parseInt(request.getParameter("videoChannels")); 
    }
      

  12.   

    这个方法我试了,还是那样~后来我把int videoChannels = Integer.parseInt(request.getParameter("videoChannels")); 
    注释掉后,从新运行,操作就没出问题啦~~~就这个是int类型的,它在页面是一个checkbox选项来着~~~
      

  13.   


    checkbox传上来的是个数组……………………………………………………
      

  14.   

    其他的checkbox都是String类型的,不知道我们写数据库的人为什么把这个定义成int类型的~~~