zoukankan      html  css  js  c++  java
  • 页面提交错误,页面间参数传递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

     

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

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

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

     

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

  • 相关阅读:
    STL--set_difference
    priority_queue和sort应用
    16进制转化8进制---map
    LeetCode62. 不同路径
    LeetCode209. 长度最小的子数组
    LeetCode第29场双周赛题解
    LeetCode61. 旋转链表
    LeetCode60. 第k个排列
    LeetCode59. 螺旋矩阵 II
    LeetCode58. 最后一个单词的长度
  • 原文地址:https://www.cnblogs.com/james1207/p/3304165.html
Copyright © 2011-2022 走看看