[ http://issues.apache.org/struts/browse/STR-2989?page=comments#action_39134 ] Steve Klosterbuer commented on STR-2989: ----------------------------------------
I'm not sure that I follow. This occurs when I attempt to submit the form after the session has expired. Before the Action class gets the request, the collections within the ActionForm are not successfully populated and I get the resulting NPE. > NullPointerException on indexed properties only on session timeout > ------------------------------------------------------------------ > > Key: STR-2989 > URL: http://issues.apache.org/struts/browse/STR-2989 > Project: Struts 1 > Issue Type: Bug > Components: Core > Affects Versions: 1.2.9 > Environment: Windows XP, WebLogic 8.1 > Reporter: Steve Klosterbuer > > I have an ActionForm that has a getter and setter for a Collection of > Objects. The jsp uses the logic:iterate tag to output the indexed nested > properties. Everything works fine until the session times out. Then I get > the following stack trace: > java.lang.NullPointerException > at > org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:427) > at > org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:340) > at > org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:684) > at > org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715) > at > org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:884) > at > org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811) > at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298) > at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493) > at > org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:816) > at > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) > at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) > at > weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225) > at > weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127) > at > weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) > at > weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175) > at > weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3214) > at > weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) > at > weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) > at > weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1983) > at > weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1890) > at > weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1344) > at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) > at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/struts/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
