You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Jesse Kuhnert (JIRA)" <ta...@jakarta.apache.org> on 2006/03/10 03:10:41 UTC

[jira] Resolved: (TAPESTRY-174) 'page' JSP tag throws NPE when page accessed via multipart form submission

     [ http://issues.apache.org/jira/browse/TAPESTRY-174?page=all ]
     
Jesse Kuhnert resolved TAPESTRY-174:
------------------------------------

    Resolution: Won't Fix
     Assign To:     (was: Tapestry Developer List)

> 'page' JSP tag throws NPE when page accessed via multipart form submission
> --------------------------------------------------------------------------
>
>          Key: TAPESTRY-174
>          URL: http://issues.apache.org/jira/browse/TAPESTRY-174
>      Project: Tapestry
>         Type: Bug
>   Components: Framework
>     Versions: 3.0
>  Environment: Operating System: Other
> Platform: Other
>     Reporter: Colin Sampaleanu

>
> I have an app that is half Tapestry and half (sigh...) Struts. On a common link
> bar I use the tapestry page tag to create some links to some tapestry pages, as
> follows:
>   <tapestry:page servlet='/auth' page='ManageUsers'>Users</tapestry:page> 
> If I have a JSP page which does a multi-part form post to an action, and then
> that action does a normal forward to the display page, which then includes the
> above tag definition, I get a null pointer exception, as Tapestry wants to use
> the DefaultMultiPartFormDecoder, but the submission was not actually from tapestry.
> I think this line returns null
>         return (Map) request.getAttribute(PART_MAP_ATTRIBUTE_NAME);
> which then causes a NPE on attempted usage of the partMap.
> Very very nasty. Is there any easy workaround? Stack trace follows:
> 2004-05-20 17:55:33,974 ERROR [org.jboss.web.localhost.Engine]
> ApplicationDispatcher[/qa-portal] Servlet.service() for servlet qaportal threw
> exception
> java.lang.NullPointerException
> 	at
> org.apache.tapestry.multipart.DefaultMultipartDecoder.cleanup(DefaultMultipartDecoder.java:120)
> 	at org.apache.tapestry.request.RequestContext.cleanup(RequestContext.java:506)
> 	at org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:285)
> 	at org.apache.tapestry.ApplicationServlet.doPost(ApplicationServlet.java:326)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
> 	at
> org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
> 	at
> org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:498)
> 	at org.apache.tapestry.jsp.URLRetriever.insertURL(URLRetriever.java:82)
> 	at org.apache.tapestry.jsp.AbstractLinkTag.doStartTag(AbstractLinkTag.java:105)
> 	at
> org.apache.jsp.jadmfeditor_jsp._jspx_meth_tapestry_page_0(jadmfeditor_jsp.java:1706)
> 	at
> org.apache.jsp.jadmfeditor_jsp._jspx_meth_authz_authorize_4(jadmfeditor_jsp.java:1679)
> 	at org.apache.jsp.jadmfeditor_jsp._jspService(jadmfeditor_jsp.java:255)
> 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
> 	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
> 	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
> 	at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
> 	at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
> 	at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
> 	at
> org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
> 	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
> 	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
> 	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org