这是在jsp 里,student是我定义的类,运行这个jsp时总是说18行这里错了,我把18 行删了,下一个<%=... %>的行里又说错了,不知道怎么回事,把带<%...%>的行删了,能正常显示了这是怎么回事啊?大家帮帮我
Student s=(Student)request.getAttribute("s");
。。 <input type="hidden" name="id" value="<%=s.getId() %>">----------------------------------------------
这是错误描述
org.apache.jasper.JasperException: An exception occurred processing JSP page /update.jsp at line 1815: <h3>璇峰~鍐欑敤鎴蜂俊鎭�/h3>
16: <p/>
17: <form action="update" >
18: <input type="hidden" name="id" value="<%=s.getId() %>">
19: <table width="90%"border="1">
20: <tr align="left">
21: <td> 缂栧彿锛�/td>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
org.apache.jsp.update_jsp._jspService(update_jsp.java:73)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Student s=(Student)request.getAttribute("s");
。。 <input type="hidden" name="id" value="<%=s.getId() %>">----------------------------------------------
这是错误描述
org.apache.jasper.JasperException: An exception occurred processing JSP page /update.jsp at line 1815: <h3>璇峰~鍐欑敤鎴蜂俊鎭�/h3>
16: <p/>
17: <form action="update" >
18: <input type="hidden" name="id" value="<%=s.getId() %>">
19: <table width="90%"border="1">
20: <tr align="left">
21: <td> 缂栧彿锛�/td>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause java.lang.NullPointerException
org.apache.jsp.update_jsp._jspService(update_jsp.java:73)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
解决方案 »
- filter 取session值问题
- java中md5加密实现原理?
- weblogic 8.1安装axis2 1.1报错的问题
- 请教各位高手,下一步,我该怎么办
- struts2中循环输出Action里的集合?
- 在java web中,如何将页面输出的数据导出为doc或xls格式
- J2EE Form-based Authentication
- 在Tomcat4.1上运行jsp文件报错,请各位指点!!!!多谢。。
- 为什么不能生成rmi中的stub和skeleton啊? 谢谢大家拉!!
- springboot实现数据级权限申请和授权
- 关于Struts2 <s:form>属性action
- SSH2+EXTJS 表单值修改后提交update数据库效率问题
使用Javascript时要引入相应的标记库,如果没有会报错(MyEclipse是这样,其他的我不太清楚)
所以s.getId也是空。
你应该首先判段一下Request对象里面的s是否为空,不为空在转为Student对象.
if(request.getAttribute("s")!=null){......}不然的话,相当于你的Student s = null;还没有实例化出来,内存中还没有分配空间,指向一个null的地址,所以这样取出来就会抛空指针异常。
获取的s对象为空,所以用null.getId()肯定抛出空指针。
首先确认你往request中是否是set的Student对象正确,并且设置的名字是s。
其次这个页面千万别是sendredirect过来的,要不request中的值就获取不到了。
jsp里应该有 / 吧
是不是(Student)request.getSession().getAttribute("s");
你的异常信息:
root cause java.lang.NullPointerException
org.apache.jsp.update_jsp._jspService(update_jsp.java:73)------------------------------------
上边的异常信息告诉你在Tomcat的work目录下,org/apache/jsp/update_jsp.java文件中,用UrlEdit打开这个文件,73行的对象有空指针异常信息。
request.setAttribute("s",student);
Student s=if(request.getAttribute("s")==null)? new Studente():(Student request.getAttribute("s");
Student s=(Student)request.getAttribute("s");
那么你后台应该在之前有个setAttribute吧?