具体描述:基于SSH框架的系统在删除数据库中指定的某条记录时出现异常:org.apache.jasper.JasperException: java.lang.NullPointerException,但是从控制台可以看到数据库中的数据已被删除。
控制台上的信息如下:
Hibernate: delete from SYSTEM.ZHANG_MU where ZHANGMUID=?
五月 27, 2014 5:09:13 下午 org.apache.catalina.core.ApplicationDispatcher invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.jsp.jsp.ListZhangMu_jsp._jspService(ListZhangMu_jsp.java:107)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
...
at java.lang.Thread.run(Thread.java:744)
struts.xml配置文件:
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="DeleteZhangAction" class="DeleteZhangMuAction" method="deleteZhangMu">
<result name="deleteZhangSucc">jsp/ListZhangMu.jsp</result> //deleteZhangSucc是删除操作成功后的返回结果;ListZhangMu.jsp是显示按指定条件查到的数据 的页面
</action>
</package>
</struts>
出现原因:执行完删除的action后,没有执行查询的action,就直接跳转到了显示信息的页面。
解决办法:在struts.xml文件中修改“deleteZhangSucc”的跳转页面即可解决问题。例如改成<result name="deleteZhangSucc">welcome.jsp</result>。