try {
Integer.parseInt("用户输入的数");
} catch (Exception e) {
response.sendRedirect("error.jsp");
}在catch里面捕捉到这个异常,然后重定向到错误页面

解决方案 »

  1.   

    Throws: 
    NumberFormatException - if the string does not contain a parsable integer.直接捕捉这个异常就行了!
    try {
    Integer.parseInt("用户输入的数");
    } catch (NumberFormatException e) {
       response.sendRedirect("error.jsp");
     }
      

  2.   

    try {
    Integer.parseInt("用户输入的数");
    } catch (Exception e) {
    response.sendRedirect("error.jsp");
    }在catch里面捕捉到这个异常,然后重定向到错误页面-----------------------------------------------------------
    试过了,这个方法行不通,程序一catch到异常就直接显示错误消息了,根本没有重定向到error.jsp页面.
    提示错误:
    org.apache.jasper.JasperException: An exception occured trying to convert String "asd" to type "int"其中"asd"是我输入的数.
      

  3.   

    ^_^,不就是这个异常吗?
    Throws: 
    NumberFormatException - if the string does not contain a parsable integer.这个是根本就没捕捉,你试一下改一下,将Exception改为jasperException.
      

  4.   

    if (isNaN(用户输入的数)){
    alert("请输入数字!")
    return false
    }
    在页面上做javascript的校验
      

  5.   

    1.你可以在客户端中用JS进行验证:
    function chkPlusInt2(data,msg)//data为需要验证的输入框,msg为提示的对话框内容
    {
        var reg=/^\d*$/gi;
        var isInt=reg.exec(trimAll(data.value)); 
        if(!isInt)
        {
            alert(msg);
            data.select();
            return false;
        }
    }
    2.如果一定要在java中实现的话,你可以先对该输入框的内容进行判断,判断他是否可以转化成数据,如下:
       /**
         * 判断该字符串是否可以转化成数值
         * @param str
         * @return boolean
         */
        public static boolean isParseInt(String str){
         boolean flag = true;
         try{
         for (int i=0;i<str.length();i++){
         if (-1=="-.0123456789".indexOf(str.substring(i,i+1))){
         //if (!str.matches("\\d+"))
         flag = false;
         break;
         }
         }
         }catch(Exception e){
         return false;
         }
         return flag;
        }
      

  6.   

    这是判断是否数字和submit时判断的js代码
    <script languge="JavaScript">
    function Trim(str){
     if(str.charAt(0) == " "){
      str = str.slice(1);
      str = Trim(str); 
     }
     return str;
    }function isEmpty(pObj,errMsg){
     var obj = eval(pObj);
     if( obj == null || Trim(obj.value) == ""){
       if (errMsg == null || errMsg =="")
         alert("输入为空!");
       else
         alert(errMsg); 
       obj.focus(); 
       return false;
     }
     return true;
    }
    function isNumber(pObj,errMsg){
     var obj = eval(pObj);
     strRef = "1234567890";
     if(!isEmpty(pObj,errMsg))return false;
     for (i=0;i<obj.value.length;i++) {
      tempChar= obj.value.substring(i,i+1);
      if (strRef.indexOf(tempChar,0)==-1) {
        if (errMsg == null || errMsg =="")
          alert("数据不符合要求,请检查");
        else
          alert(errMsg);
        if(obj.type=="text") 
          obj.focus(); 
        return false; 
      }
      }
      return true;
    }
    function addIt() {
      var addit=false;  if(!isNumber(document.addForm.number,"请输入正确的数字!")){
           
      }
      else   
       {
        addit=window.confirm("您确定要添加吗?");          
      }
      if (addit){
      
      // document.addForm.submit();
       }     
      return addit;
    }</script>在jsp中的form:<form action ="AddIt.jsp" method=post name="addForm" onSubmit="return addIt()">
      <input type="text" name="number" size="35">
      <input type="submit" name="Submit" value="添加">
    </form>
      

  7.   

    我用的方法是这个:
    try {
    Integer.parseInt("用户输入的数");

    catch (Exception e) {
    response.sendRedirect("error.jsp");
    }可是,程序一catch到异常就直接显示错误消息了,根本没有重定向到error.jsp页面.
    显示错误页面为:
    org.apache.jasper.JasperException: An exception occured trying to convert String "asd" to type "int"其中"asd"是用户输入的数.
      

  8.   

    楼主,我看一下我给你的代码,你先判断一下,比如我写的第二段代码,如果返回值为false,就不要用Integer.parseInt("")来进行转化了,那样肯定会出现异常的。例:
    try{
    if(isParseInt("用户输入的数")){}
    }
      

  9.   

    上面是我不小心按了“发出回复”了
    楼主,我看一下我给你的代码,你先判断一下,比如我写的第二段代码,如果返回值为false,就不要用Integer.parseInt("")来进行转化了,那样肯定会出现异常的。例:
    try{
    if(isParseInt("用户输入的数")){
        Integer.parseInt("用户输入的数");
    }else{
         response.sendRedirect("error.jsp");
    }
    }catch(Exception e){
        //错误处理
    }