2011-09-19 7 views
0

I있어 예외 : org.apache.jasper.JasperException : java.lang.NumberFormatException의 : 널 (null) 이 코드를 시도 할 때 :org.apache.jasper.JasperException : java.lang.NumberFormatException의 : 널 (null)

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 

<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JSP Page</title> 
</head> 
<body> 

    <h3>Tanggal sekarang:</h3> 
    <%= new java.util.Date() %> 
    <% //begin scriplet 
    String nama = request.getParameter("namadepan"); 
    String id = request.getParameter("idUser"); 
    int idInt = Integer.parseInt(id); 
    if(nama!=null) { 

    %> <%-- end scriplet to insert fixed template data --%> 
    <h3>Halo <%= nama %>, <br/> 
     int idInt = Integer.parseInt(idUser); 
     Selamat datang di web Koperasi Aneka Usaha! 
     id anda :<%=idInt %> 
     </h3> 
    <% //continue scriptlet 
    }//end if 
    else { 
    %> <%-- end scriplet to insert fixed template data --%> 
<form name="login" action="index.jsp" method="post"> 
<table width="200" border="1"> 
<tr> 
<td width="56">Nama </td> 
<td width="128"><input type="text" name="namadepan"></td> 
</tr> 
<tr> 
<td>ID</td> 
<td><input type="text" name="idUser"></td> 
</tr> 
<tr> 
<td>Umur</td> 
<td><input type=int name="umur"></td> 
</tr> 
<tr> 
<td colspan="2"><input type="submit" name="Submit" value="Submit"></td> 
</tr> 
</table> 
</form> 
    <% //continue scriptlet 
    }//end else 
    %> <%-- end scriplet --%> 

</body> 
</html> 

예외를 수정하는 방법은 무엇입니까? 이 오류는 convertint 입력 유형 문자열 (idUser)이 정수인지 확인하십시오.

+0

서블릿 사용을 고려하십시오. 서블릿 위키 페이지에는 요청을 처리하고 유효성 검사를 수행하는 좋은 예가 있습니다. http://stackoverflow.com/tags/servlets/info – BalusC

답변

1

문제는 Integer.parseInt(id);을 호출하는 것입니다. id이 구문 분석 가능한 숫자가 아니면 NumberFormatException이 발생합니다. 귀하의 경우 idnull입니다. 최소한 NULL 검사를 포함해야하지만, 다음과 같은 것이 더 좋을 것입니다.

int idInt = 0; // Or a different default value 
try { 
    idInt = Integer.parseInt(id); 
} catch(NumberFormatException e) { 
    // log the error or ignore it 
}