[英]Exception org.apache.jasper.JasperException: java.lang.NullPointerException
[英]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>
如何解决该异常? 我确定错误是关于将intintint输入类型字符串(idUser)转换为整数。
问题是对Integer.parseInt(id);
的调用Integer.parseInt(id);
。 如果id
不是可解析的数字,则将引发NumberFormatException
。 在您的情况下,因为id
为null
。 您至少应包括一个null检查,但最好执行以下操作:
int idInt = 0; // Or a different default value
try {
idInt = Integer.parseInt(id);
} catch(NumberFormatException e) {
// log the error or ignore it
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.