java - org.apache.jasper.JasperException : java. lang.NumberFormatException:null

标签 java exception null numbers

我遇到异常: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>

如何修复该异常?我确信错误是关于将int 输入类型字符串(idUser)转换为整数。

最佳答案

问题是对 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
}

关于java - org.apache.jasper.JasperException : java. lang.NumberFormatException:null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7474322/

相关文章:

c - 如何创建一个空矩阵并将其显示在屏幕上?

java - java中mysql中的一句话出现问题

Java,如何使用多字符 boolean 表达式关闭 do-while 循环?

delphi - 我如何让 Delphi 知道我已经处理了异常?

sql - 为什么 Postgres Group By NULL 选择不计数?

swift - 将字符串转换为 URL(为什么结果变量为 nil)

java - 在 JTextArea 中显示样式内容

java - KafkaListenerEndpointContainer 无法使用 Spring Kafka 创建 Kafka 事务

java - 将 RuntimeException 转换为 Checked 是一个好习惯吗?

c++ - 无法看到导致核心转储终止的异常