javax.servlet.ServletException:null

时间:2011-09-28 14:07:08

标签: apache servlets struts

在测试我正在研究的基于小型apache strut的web应用程序时收到以下错误,问题的关键在于某种方式将一个空的httpservletrequest请求参数传递给一个已扩展的Action类中的Actionforward Execute函数?

我对struts使用的了解是有限的,对这种错误行为的解释超出了我的意见,任何帮助都非常感激。下面包括例外情况..

javax.servlet.ServletException: null
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)    

org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Unknown Source)
java.lang.Integer.parseInt(Unknown Source)

org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)

org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache
Tomcat/5.5.4 logs.

1 个答案:

答案 0 :(得分:1)

抱歉没有尽快回复......

描述的错误是由struts-config.xml中的操作映射中缺少serviceForm Bean规范引起的。当用户第一次导航到违规网页时,ServiceForm bean不存在,因此创建了存储相对actionForm值(没有发生错误)。

然而,当用户尝试在其他地方之后导航回网页时,尝试访问创建的serviceForm bean数据,这些数据尚未在strut中指定..因此空指针崩溃..

EG。 name =“serviceForm”缺失。

<action path="/pages/networkconfig/listUIServices"
        type="com.UIServiceListAction"
        name="serviceForm" 
        scope="request"
        validate="false">
    <forward name="view" path="/pages/networkconfig/uiservices_list.jsp"/>
</action>   

希望这种解释是有帮助的。