页面提交错误,页面间参数传递java.lang.NumberFormatException: null

 多次出现这样的错误,在点击一个按钮触发提交整个页面的事件时,总是报错,不止一次出现这样的错误了. 出现这种问题的分析:

 

   1 我们从这个问题的本身来看,java.lang.NumberFormatException: null,是在类型转换的时候出现的问题,null,表示字符转换为数字的时候出现错误. 我们开始想了在哪里出现的问题.

 

   2 在页面之间传递参数的时候,我们采用的url方式传递参数,要跳转的页面:client_modify.jsp?id=<%=id%>  跳转到的页面获取这id值,在服务器端获取,我们从服务端截取的是字符串的格式,要转换为int格式,因为我们的数据库中是int的格式:int id = Integer.parseInt(request.getParameter("id"));

 

   3 我们找到问题的所在就开始检查了,是不是拼写错误,是少问号,还是少写了个等号. 如果发现错误并改正就可以了.

 

   4 如果拼写正确, 那就是在页面传递参数的过程中,我们没有获取到参数, 例如当我们修改一个数据并提交到数据库的时候,需要把这个页面再重新提交一次.这时,我们在提交后会到服务器端执行, 服务器在获取id的时候int id = Integer.parseInt(request.getParameter("id")); 此时提交自己的页面,url后没有参数传递, 我们就获取不到id值了,系统就会报错 :java.lang.NumberFormatException: null(博主就是在这1条上跌倒的哭)

 

   5 找了个根源,再进行改正. 我们要想法设法把从其他页面传递过来的参数保存到本页面中, 以便再做这个页面的时候可以继续使用,于是我们想到了hidden按钮. 

   hidden按钮,就是一个隐身的,客户端看不到这个按钮,我们把一些值保存在客户端,让后台可以找到,这正是我们所需要的,所以我们把这个参数值保存在hidden中,这样服务器端再进行取值的时候,来去的hidden中的参数值就ok了,就不会出现上面的错误了. <input type="hidden" name="id" value="<%=id %>" >

   我们再次运行查看源代码,就会看到这id值已经保存在我们的客户端了:

 

 

   其实这个参数传递的过程就像是别人借你的东西的时候,你需要下次和别人见面的时候给他带过去,这个东西就相当于我们页面中传递的"参数"啦,当然你答应了借给人家东西,如果没有拿来的话也很不好的哦,在计算机的世界里就会报错啦..

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: java.lang.NumberFormatException是一个Java异常类,表示在将一个字符串转换为数字时发生了格式错误。在这种情况下,异常消息会显示为"null java.lang.Integer.parseInt(integer.jav"。 这个异常通常发生在使用Integer.parseInt()方法时,当输入字符串不是一个合法的整数时,就会抛出这个异常。可能的原因包括: 1. 输入字符串为空或为null。在这种情况下,无法将空字符串或null转换为整数,因此会抛出NumberFormatException。 2. 输入字符串包含了非数字字符。Integer.parseInt()方法只能处理包含数字字符的字符串,当输入字符串包含了非数字字符(如字母、特殊符号等)时,会抛出NumberFormatException。 3. 输入字符串超出了整数的范围。整数的范围在Java中是有限的,如果输入字符串表示的数字超出了整数的范围,就会抛出NumberFormatException。 要解决这个异常,我们可以在调用Integer.parseInt()方法之前进行一些验证操作,以确保输入字符串符合要求。例如,可以使用正则表达式检查输入字符串是否只包含数字字符,并在转换之前进行验证。另外,还可以使用try-catch块来捕获NumberFormatException异常并进行相应的处理,比如输出错误信息或者给出合适的提示。 总而言之,NumberFormatException是一个表示数字格式错误的异常类,在使用Integer.parseInt()方法时可能会出现。为了避免这个异常,我们需要确保输入字符串符合转换为整数的要求,或使用适当的方法来处理这个异常。 ### 回答2: java.lang.NumberFormatException是一个在字符串转换为数字时可能会抛出的异常。在这个特定的错误消息中,异常被引发的原因是传递给Integer.parseInt()方法的参数为空。 Integer.parseInt()方法用于将字符串转换为整数。当传递一个空字符串或null时,该方法无法将其解析为有效的整数,因此会引发NumberFormatException。这是因为无法将空字符串或null解析为有效的数字表示形式。 要解决这个问题,需要确保传递给Integer.parseInt()方法的参数不是空的。可以使用条件语句,如if语句,来检查参数是否为空,如果为空,可以选择给参数赋予一个默认或者进行其他的错误处理。 以下是一个示例代码,演示如何处理这个异常: ``` String str = null; try { int num = 0; if (str != null) { num = Integer.parseInt(str); } else { // 处理参数为空的情况 // 可以给参数赋予一个默认或者进行其他的错误处理 } // 使用转换后的整数进行其他操作 // ... } catch (NumberFormatException e) { // 处理异常情况 // ... } ``` 在这个示例中,首先将参数赋给一个临时变量str。然后在try块中使用条件语句来检查str是否为空,如果不为空,将其转换为整数并赋给num变量。如果str为空,则可以根据具体需求进行处理。 最后,在catch块中捕获NumberFormatException异常,可以选择在此处处理异常,例如打印错误消息或采取其他适当的措施。 总之,如果在使用Integer.parseInt()方法时遇到像java.lang.NumberFormatException: null错误消息,需要检查传递给方法的参数是否为空,并根据具体情况进行适当的处理。 ### 回答3: java.lang.NumberFormatExceptionJava编程语言中的一个异常,它表示当尝试将一个无效的字符串转换为数字时出现了问题。在给定的情况下,错误信息显示为"null java.lang.Integer.parseInt(Integer.java)"。 这个异常通常会发生在通过Integer.parseInt()方法将字符串转换为整数时。NumberFormatException的原因可能是输入的字符串不符合整数的格式要求,例如包含非数字字符或空格。在给定错误信息中,"null"表示输入的字符串为空。 解决这个问题的方法是确保将正确的字符串输入到Integer.parseInt()方法中。要避免NumberFormatException,可以使用try-catch块来捕获并处理异常。在try块中,可以尝试将字符串转换为整数,并在catch块中处理NumberFormatException。 以下是一个示例代码片段,演示如何处理这个异常: ```java try { String str = ""; // 这输入字符串 int num = Integer.parseInt(str); // 在这处理转换后的整数 } catch (NumberFormatException e) { System.out.println("输入的字符串不是有效的整数"); } ``` 在上面的代码中,我们将输入的字符串赋给变量`str`,然后尝试将其转换为整数。如果转换成功,就可以在try块中继续处理转换后的整数。如果转换失败(出现NumberFormatException),则在catch块中输出错误消息。 请注意,在实际的应用程序中,可能需要根据具体需求做更多的异常处理,例如提供用户友好的错误提示或重新要求用户输入正确的整数字符串。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值