在测试基于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.发布于 2011-10-26 17:22:49
很抱歉没有早点回到这个问题上来..
所描述的错误是由于serviceForm -config.xml中的操作映射中缺少struts.xml Bean规范而导致的。用户第一次导航到有问题的网页时,ServiceForm bean并不存在,因此创建它是为了存储相对的actionForm值(没有发生错误)。
但是,当用户在其他地方之后尝试导航回web页面时,将尝试访问创建的serviceForm bean数据,而这些数据并未在strut中指定。因此,空指针崩溃..
例如:缺少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> 希望这个解释对你有帮助..
https://stackoverflow.com/questions/7584558
复制相似问题