为了账号安全,请及时绑定邮箱和手机立即绑定

jsp页面简单的提交表单数据并转为double类型,是下面代码有错吗?

<form action="" method="get">
  <input type="text" name="a" value="a"><input><br>
  <input type="submit" name="submit" value="submit"></input>
  </form>    
    <%
    String a1=request.getParameter("a"); 
      double o=Double.parseDouble(a1);
      out.println(o);                                                        %>     
      运行显示:
      An exception occurred processing JSP page /b.jsp at line 16
13:   </form> 
14: <%
15:     String a1=request.getParameter("a"); 
16:       double o=Double.parseDouble(a1);
17:       out.println(o);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
14:  <%
15:     String a1=request.getParameter("a"); 
16:       double o=Double.parseDouble(a1);
17:       out.println(o);
18: 
19:

正在回答

3 回答

内置的request对象需要提交才能获取

不信你注释掉16行输出一下o你会发现输出的是个null

1 回复 有任何疑惑可以回复我~
#1

AurevoirXavier

打错了,输出一下a1。
2017-05-18 回复 有任何疑惑可以回复我~

request对象是服务器的对象,我们的表单明显是在客户端,内置的request对象自然会是null

0 回复 有任何疑惑可以回复我~

谢谢啊。问题是如果直接获取这个String类型的数是可以的,如图。 可只是一个类型转换而已,把它转为double类型就出错了。

0 回复 有任何疑惑可以回复我~
#1

AurevoirXavier

那是因为你提交了 提交之前肯定是null 提交之前 类型转换这个逻辑已经执行了 null怎么转换 肯定必然报错的
2017-05-18 回复 有任何疑惑可以回复我~
#2

AurevoirXavier

不信你把 submit按钮去掉 看样子你没有明白程序的执行顺序 首先是 第一次启动tomcat服务打开页面 没有单击提交 此时你get到的是null 然后类型转换 至于你说的你能直接获取 那是不存在的 除非你点击提交 因为类型转换报错 所以你根本没有点击提交的机会 所以你注释掉了类型转换后再提交肯定是没有问题的 提交后当前页面才get到所谓的string类型的参数 然后你想将其类型转换 因此你忽略了一点如果你加入类型转换的语句 在你点击submit之前就已经转换了一次 而恰恰那次转换报错了
2017-05-18 回复 有任何疑惑可以回复我~
#3

AurevoirXavier

你可以加一个判断 if(a1 != null) {类型转换;} 然后控制台 System.out.print() 查看输出日志
2017-05-18 回复 有任何疑惑可以回复我~
#4

pearandpeach 提问者 回复 AurevoirXavier

谢谢你啦,终于知道问题所在了,回答得这么详细。Thanks a lot!!!
2017-05-22 回复 有任何疑惑可以回复我~
#5

AurevoirXavier 回复 pearandpeach 提问者

呵,共同进步
2017-05-23 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消

jsp页面简单的提交表单数据并转为double类型,是下面代码有错吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信