文章写给自己 当做自己以后的改错笔记
- 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"));
}