多次出现这样的错误,在点击一个按钮触发提交整个页面的事件时,总是报错,不止一次出现这样的错误了. 出现这种问题的分析:
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值已经保存在我们的客户端了:
其实这个参数传递的过程就像是别人借你的东西的时候,你需要下次和别人见面的时候给他带过去,这个东西就相当于我们页面中传递的"参数"啦,当然你答应了借给人家东西,如果没有拿来的话也很不好的哦,在计算机的世界里就会报错啦..