struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Benedict (JIRA)" <j...@apache.org>
Subject [jira] Commented: (STR-2989) NullPointerException on indexed properties only on session timeout
Date Tue, 19 Dec 2006 05:03:57 GMT
    [ http://issues.apache.org/struts/browse/STR-2989?page=comments#action_39132 ] 
            
Paul Benedict commented on STR-2989:
------------------------------------

The logic tags throw a NPE when they reference a null object. This is not a bug. If you need
graceful handling of null objects, use JSTL which can check when references are empty.

As for the arrays, I am pretty sure arrays are not allocated automatically. They return to
null after a request or when the session expires. If the array has to be there, you need to
instantiate it in your constructor.

> 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

        

Mime
View raw message