文章写给自己 当做自己以后的改错笔记
- jsp实现:创建一个文本框实现计算器功能时
- Servlet判断:当没有输入完全的时候(变量1,变量2,还有操作符的选择时),界面重定向到输入的jsp界面中
界面实现:

- 之前的代码:
if(request.getParameter("Var1")==NULL||
request.getParameter("Var2")==NULL||
request.getParameter("operator")==NULL||
Integer.parseInt(request.getParameter("Var2"))==0) {
response.sendRedirect("inputNumber.jsp");
}else{
double var1= Double.parseDouble(request.getParameter("Var1"));
double var2=Double.parseDouble(request.getParameter("Var2"));
}
错误原因:
文本框中保存的内容为String类型,也就是不选择的话提交的是"",一个空的字符串。所以下列的if判断肯定为不等于null。执行else,一个空的字符串怎么可能装换成double型呢,这就是问题的原因所在。
- 改正后的代码:
if("".equals(request.getParameter("Var1"))||
"".equals(request.getParameter("Var2"))||
"".equals(request.getParameter("operator"))||
Integer.parseInt(request.getParameter("Var2"))==0) {
response.sendRedirect("inputNumber.jsp");
}else{
double var1= Double.parseDouble(request.getParameter("Var1"));
double var2=Double.parseDouble(request.getParameter("Var2"));
}
本文介绍了一个使用JSP实现的简易计算器项目,在Servlet中进行变量有效性验证的过程及问题修正。原先的代码无法正确判断空输入的情况,导致运行时出现类型转换异常。通过将null检查改为检查空字符串,确保了只有在所有必要参数都有效时才会尝试转换类型。

617

被折叠的 条评论
为什么被折叠?



