jsp编译错误

LuoHuaYiShi 2013-04-24 09:36:50
inputNumber.jsp
<%@ page contentType="text/html;Charset=GB2312" %><%@ page language="java" pageEncoding="UTF-8" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="computer"%>

<html><body bgcolor=cycan><font size=3><FORM action="" method=post name=jisuan >
<INPUT type="text" name="Number1" >
<INPUT type="text" name="Number2">
<select name="xiala">
<option value="1">+</option>
<option value="2">-</option>
<option value="3">*</option>
<option value="4">/</option>
</select>
</FORM>
<%
String Number1=request.getParameter("Number1");
String Number2=request.getParameter("Number2");
String yunsuanfu=request.getParameter("xiala");
%>
<computer:MathComputer operator1="<%=Number1%>" operator2="<%=Number2%>" oyunsuanfu="<%=yunsuanfu%>"/>
<P>计算结果为:</P>
<%=Res%>
</font>
</body>
</html>

MathComputer.tag
<%@ tag language="java" pageEncoding="GB2312"%>
<%@ tag import = "java.lang.*" %>
<%@attribute name="operator1" required="true"%>
<%@attribute name="operator2" required="true"%>
<%@attribute name="oyunsuanfu" required="true"%>
<%@ variable name-given="Res" variable-class="java.lang.Double" scope="AT_END" %>

<%double a=Double.parseDouble(operator1);
double b=Double.parseDouble(operator2);
int c=Integer.parseInt(oyunsuanfu);
double res=0;
switch(c){
case 1:
res=a+b;

break;
case 2:
res=a-b;

break;
case 3:
res=a*b;

break;
case 4:
res=a/b;

break;
default:
out.println("error");
}
jspContext.setAttribute("Res",new Double(res));

%>

报错时说inputNumber.jsp里的<computer:MathComputer operator1="<%=Number1%>" operator2="<%=Number2%>" oyunsuanfu="<%=yunsuanfu%>"/>这一段出错
错误:javax.servlet.ServletException: javax.servlet.jsp.JspException: java.lang.NullPointerExceptio
...全文
97 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你首先获取参数值,我觉得不是那行错误,应该是这边错误。 double a=Double.parseDouble(operator1); double b=Double.parseDouble(operator2); int c=Integer.parseInt(oyunsuanfu); 你必须保证他们不为空的时候,才能就行类型转换,不然会有java.lang.NullPointerException错误
齐岳 2013-04-25
  • 打赏
  • 举报
回复
报错为空指针异常。你在form表单加一个submit提交试试
鲁康 2013-04-25
  • 打赏
  • 举报
回复
您每次得到request.getParameter("**");的时候,应该加个判断! String cmd=null; if(request.getParameter("***")!=null) { cmd=request.getParameter("***"); } 一定要有这个习惯!,反正我有这个习惯
  • 打赏
  • 举报
回复
你那个是空指针异常,此异常出现的情况是一个值为空,你还去用它了,空本来就什么都没有,你还用它 所以,异常啦 你可以一个一个的输出,然后看哪个值空了
qiuming007 2013-04-25
  • 打赏
  • 举报
回复
JSP页面报错不一定准确,还是要一个一个调
IMBA__小八 2013-04-24
  • 打赏
  • 举报
回复
Number1 Number2 yunsuanfu 全是空的

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧