You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Antony Stace <s4...@yahoo.com> on 2002/01/17 06:04:23 UTC
Re: Error - MultipartIterator: no multipart request data sent
Hi
This is an old post that follows. I have found the same problem with Struts
1.01. Is this behaviour a bug or is it how Struts is meant to work?
Also can someone please tell me what setting
the value of redirect="true" does besides clearing the request attributes.
Cheers
Tony
>Hello,
>
>It seems to work like that. But as you wrote, if the redirect attribute is set
>to 'true', it is cleaning all the attributes in request. I had put my
>attributes in session instead of request.
>Anyway, Thanks a lot.
>
>Regards
>Nuray
>
>-----Original Message-----
>From: mikael.eriksson [mailto:mikael.eriksson@bea.com]
>Sent: Montag, 2. Juli 2001 00:18
>To: struts-user
>Subject: Re: Error - MultipartIterator: no multipart request data sent
>
>
>Hello
>
> I noticed the same problem when moving to 1.0. It seems that
>the requesthandler notices that the request is a multi-part and
>tries to find the multi-part data, even when the request are
>already handled and you are only forwarding to the next
>action. (I only got the problem when going to another action.)
>
> The way I handled it was to set redirect="true" in struts-config.xml
>for the action that I forwarded to, this made the multi-part info
>go away from the request (and all other parameters too of course,
>so if you are expecting request parameters in the next action this
>will not work.)
>
> I guess this could be fixed in the code too, maybe by having the request
>reader setting a request attribute so that it knows the next time
>that it already has gotten the data. But I did not go deep enough
>into the code to know if that is feasible or not.
>
> Regards
> Mikael
>
>
>nuray.baskal@ubs.com wrote:
>
>> Hi everbody,
>>
>> I am writing a program that needs to process form data. I have an uploadForm
>> (that is an insatance of org.apache.struts.action.ActionForm). I have no
>> problem with uploading a file via this form. After uploading the file, I am
>> executing a couple of procedures inside the uploadAction(instance of
>> org.apache.struts.action.Action) and afterwards forwarding the request to
>> another page. While it is forwarding the request, it gives the following
>error:
>>
>> javax.servlet.ServletException: MultipartIterator: no multipart request data
>> sent
>> java.lang.Throwable(java.lang.String)
>> java.lang.Exception(java.lang.String)
>> javax.servlet.ServletException(java.lang.String)
>> void org.apache.struts.upload.MultipartIterator.parseRequest()
>>
>> org.apache.struts.upload.MultipartIterator(javax.servlet.http.HttpServletRequest
>> , int, long, java.lang.String)
>> void
>> org.apache.struts.upload.DiskMultipartRequestHandler.handleRequest(javax.servlet
>> .http.HttpServletRequest)
>> void org.apache.struts.util.RequestUtils.populate(java.lang.Object,
>> java.lang.String, java.lang.String, javax.servlet.http.HttpServletRequest)
>> void
>> org.apache.struts.action.ActionServlet.processPopulate(org.apache.struts.action.
>> ActionForm, org.apache.struts.action.ActionMapping,
>> javax.servlet.http.HttpServletRequest)
>> void
>> org.apache.struts.action.ActionServlet.process(javax.servlet.http.HttpServletReq
>> uest, javax.servlet.http.HttpServletResponse)
>> void
>> com.ubs.cristal.actions.CristalActionServlet.process(javax.servlet.http.HttpServ
>> letRequest, javax.servlet.http.HttpServletResponse)
>> void
>> org.apache.struts.action.ActionServlet.doPost(javax.servlet.http.HttpServletRequ
>> est, javax.servlet.http.HttpServletResponse)
>> void
>> javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest,
>> javax.servlet.http.HttpServletResponse)
>> void
>> javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest,
>> javax.servlet.ServletResponse)
>> void
>> org.apache.tomcat.core.ServletWrapper.doService(org.apache.tomcat.core.Request,
>> org.apache.tomcat.core.Response)
>> void
>> org.apache.tomcat.core.Handler.service(org.apache.tomcat.core.Request,
>> org.apache.tomcat.core.Response)
>> void
>> org.apache.tomcat.core.ServletWrapper.service(org.apache.tomcat.core.Request,
>> org.apache.tomcat.core.Response)
>> void
>> org.apache.tomcat.facade.RequestDispatcherImpl.forward(javax.servlet.ServletRequ
>> est, javax.servlet.ServletResponse)
>> void
>> org.apache.struts.action.ActionServlet.processActionForward(org.apache.struts.ac
>> tion.ActionForward, org.apache.struts.action.ActionMapping,
>> org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest,
>> javax.servlet.http.HttpServletResponse)
>> void
>> org.apache.struts.action.ActionServlet.process(javax.servlet.http.HttpServletReq
>> uest, javax.servlet.http.HttpServletResponse)
>> void
>> com.ubs.cristal.actions.CristalActionServlet.process(javax.servlet.http.HttpServ
>> letRequest, javax.servlet.http.HttpServletResponse)
>> void
>> org.apache.struts.action.ActionServlet.doPost(javax.servlet.http.HttpServletRequ
>> est, javax.servlet.http.HttpServletResponse)
>> void
>> javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest,
>> javax.servlet.http.HttpServletResponse)
>> void
>> javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest,
>> javax.servlet.ServletResponse)
>> void
>> org.apache.tomcat.core.ServletWrapper.doService(org.apache.tomcat.core.Request,
>> org.apache.tomcat.core.Response)
>> void
>> org.apache.tomcat.core.Handler.service(org.apache.tomcat.core.Request,
>> org.apache.tomcat.core.Response)
>> void
>> org.apache.tomcat.core.ServletWrapper.service(org.apache.tomcat.core.Request,
>> org.apache.tomcat.core.Response)
>> void
>> org.apache.tomcat.core.ContextManager.internalService(org.apache.tomcat.core.Req
>> uest, org.apache.tomcat.core.Response)
>> void
>> org.apache.tomcat.core.ContextManager.service(org.apache.tomcat.core.Request,
>> org.apache.tomcat.core.Response)
>> void
>> org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(org.apach
>> e.tomcat.service.TcpConnection, java.lang.Object [])
>> void org.apache.tomcat.service.TcpWorkerThread.runIt(java.lang.Object
>> [])
>> void org.apache.tomcat.util.ThreadPool$ControlRunnable.run()
>> void java.lang.Thread.run()
>>
>> Anybody had this error before or has an idea?
>>
>> Thanks...
>>
>> Nuray
>
>
---------------------------------------------------------------------
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: Error - MultipartIterator: no multipart request data sent
Posted by Ted Husted <hu...@apache.org>.
I can't help much with the multipart stuff, but redirect does not clear
the request object per se, but actually issues a HTTP redirect to the
client. The client then turns around and makes a new request for the
specified URI. Since this is now a new request, it gets a new request
object.
-- Ted Husted, Husted dot Com, Fairport NY USA.
-- Building Java web applications with Struts.
-- Tel +1 585 737-3463.
-- Web http://www.husted.com/struts/
Antony Stace wrote:
>
> Hi
>
> This is an old post that follows. I have found the same problem with Struts
> 1.01. Is this behaviour a bug or is it how Struts is meant to work?
> Also can someone please tell me what setting
> the value of redirect="true" does besides clearing the request attributes.
>
> Cheers
>
> Tony
>
> >Hello,
> >
> >It seems to work like that. But as you wrote, if the redirect attribute is set
> >to 'true', it is cleaning all the attributes in request. I had put my
> >attributes in session instead of request.
> >Anyway, Thanks a lot.
> >
> >Regards
> >Nuray
> >
> >-----Original Message-----
> >From: mikael.eriksson [mailto:mikael.eriksson@bea.com]
> >Sent: Montag, 2. Juli 2001 00:18
> >To: struts-user
> >Subject: Re: Error - MultipartIterator: no multipart request data sent
> >
> >
> >Hello
> >
> > I noticed the same problem when moving to 1.0. It seems that
> >the requesthandler notices that the request is a multi-part and
> >tries to find the multi-part data, even when the request are
> >already handled and you are only forwarding to the next
> >action. (I only got the problem when going to another action.)
> >
> > The way I handled it was to set redirect="true" in struts-config.xml
> >for the action that I forwarded to, this made the multi-part info
> >go away from the request (and all other parameters too of course,
> >so if you are expecting request parameters in the next action this
> >will not work.)
> >
> > I guess this could be fixed in the code too, maybe by having the request
> >reader setting a request attribute so that it knows the next time
> >that it already has gotten the data. But I did not go deep enough
> >into the code to know if that is feasible or not.
> >
> > Regards
> > Mikael
> >
> >
> >nuray.baskal@ubs.com wrote:
> >
> >> Hi everbody,
> >>
> >> I am writing a program that needs to process form data. I have an uploadForm
> >> (that is an insatance of org.apache.struts.action.ActionForm). I have no
> >> problem with uploading a file via this form. After uploading the file, I am
> >> executing a couple of procedures inside the uploadAction(instance of
> >> org.apache.struts.action.Action) and afterwards forwarding the request to
> >> another page. While it is forwarding the request, it gives the following
> >error:
> >>
> >> javax.servlet.ServletException: MultipartIterator: no multipart request data
> >> sent
> >> java.lang.Throwable(java.lang.String)
> >> java.lang.Exception(java.lang.String)
> >> javax.servlet.ServletException(java.lang.String)
> >> void org.apache.struts.upload.MultipartIterator.parseRequest()
> >>
> >> org.apache.struts.upload.MultipartIterator(javax.servlet.http.HttpServletRequest
> >> , int, long, java.lang.String)
> >> void
> >> org.apache.struts.upload.DiskMultipartRequestHandler.handleRequest(javax.servlet
> >> .http.HttpServletRequest)
> >> void org.apache.struts.util.RequestUtils.populate(java.lang.Object,
> >> java.lang.String, java.lang.String, javax.servlet.http.HttpServletRequest)
> >> void
> >> org.apache.struts.action.ActionServlet.processPopulate(org.apache.struts.action.
> >> ActionForm, org.apache.struts.action.ActionMapping,
> >> javax.servlet.http.HttpServletRequest)
> >> void
> >> org.apache.struts.action.ActionServlet.process(javax.servlet.http.HttpServletReq
> >> uest, javax.servlet.http.HttpServletResponse)
> >> void
> >> com.ubs.cristal.actions.CristalActionServlet.process(javax.servlet.http.HttpServ
> >> letRequest, javax.servlet.http.HttpServletResponse)
> >> void
> >> org.apache.struts.action.ActionServlet.doPost(javax.servlet.http.HttpServletRequ
> >> est, javax.servlet.http.HttpServletResponse)
> >> void
> >> javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest,
> >> javax.servlet.http.HttpServletResponse)
> >> void
> >> javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest,
> >> javax.servlet.ServletResponse)
> >> void
> >> org.apache.tomcat.core.ServletWrapper.doService(org.apache.tomcat.core.Request,
> >> org.apache.tomcat.core.Response)
> >> void
> >> org.apache.tomcat.core.Handler.service(org.apache.tomcat.core.Request,
> >> org.apache.tomcat.core.Response)
> >> void
> >> org.apache.tomcat.core.ServletWrapper.service(org.apache.tomcat.core.Request,
> >> org.apache.tomcat.core.Response)
> >> void
> >> org.apache.tomcat.facade.RequestDispatcherImpl.forward(javax.servlet.ServletRequ
> >> est, javax.servlet.ServletResponse)
> >> void
> >> org.apache.struts.action.ActionServlet.processActionForward(org.apache.struts.ac
> >> tion.ActionForward, org.apache.struts.action.ActionMapping,
> >> org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest,
> >> javax.servlet.http.HttpServletResponse)
> >> void
> >> org.apache.struts.action.ActionServlet.process(javax.servlet.http.HttpServletReq
> >> uest, javax.servlet.http.HttpServletResponse)
> >> void
> >> com.ubs.cristal.actions.CristalActionServlet.process(javax.servlet.http.HttpServ
> >> letRequest, javax.servlet.http.HttpServletResponse)
> >> void
> >> org.apache.struts.action.ActionServlet.doPost(javax.servlet.http.HttpServletRequ
> >> est, javax.servlet.http.HttpServletResponse)
> >> void
> >> javax.servlet.http.HttpServlet.service(javax.servlet.http.HttpServletRequest,
> >> javax.servlet.http.HttpServletResponse)
> >> void
> >> javax.servlet.http.HttpServlet.service(javax.servlet.ServletRequest,
> >> javax.servlet.ServletResponse)
> >> void
> >> org.apache.tomcat.core.ServletWrapper.doService(org.apache.tomcat.core.Request,
> >> org.apache.tomcat.core.Response)
> >> void
> >> org.apache.tomcat.core.Handler.service(org.apache.tomcat.core.Request,
> >> org.apache.tomcat.core.Response)
> >> void
> >> org.apache.tomcat.core.ServletWrapper.service(org.apache.tomcat.core.Request,
> >> org.apache.tomcat.core.Response)
> >> void
> >> org.apache.tomcat.core.ContextManager.internalService(org.apache.tomcat.core.Req
> >> uest, org.apache.tomcat.core.Response)
> >> void
> >> org.apache.tomcat.core.ContextManager.service(org.apache.tomcat.core.Request,
> >> org.apache.tomcat.core.Response)
> >> void
> >> org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(org.apach
> >> e.tomcat.service.TcpConnection, java.lang.Object [])
> >> void org.apache.tomcat.service.TcpWorkerThread.runIt(java.lang.Object
> >> [])
> >> void org.apache.tomcat.util.ThreadPool$ControlRunnable.run()
> >> void java.lang.Thread.run()
> >>
> >> Anybody had this error before or has an idea?
> >>
> >> Thanks...
> >>
> >> Nuray
> >
> >
>
> ---------------------------------------------------------------------
>
> _________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com
>
> --
> To unsubscribe, e-mail: <ma...@jakarta.apache.org>
> For additional commands, e-mail: <ma...@jakarta.apache.org>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>