RE: multipart/form-data (bug?) or intended behavior?

2002-04-23 Thread Hal Deadman

I haven't had a chance to test whether the request parameters are still available. 
Without the patch, the processActionForward() method will call doForward() if 
redirect=false which calls RequestDispatcher.forward(). That will always fail if the 
wrapped request is used. Does it matter if getParameter() works or not in the actions 
that follow the first action? If that limitation exists I think it's preferable than 
getting an error. 

Currently if the input attribute specified for the target after failed validation is 
an action or if you try to forward to an action from the first action execute method 
with redirect=false, then you get an error eventually after the actions execute method 
is called. 

After I submitted this patch, I thought it might not be the best way if anyone out 
there is extending RequestProcessor.java. Are there any struts extensions like Tiles 
or Velocity that extend that? If they are overriding doForward() or doInclude() then 
they need to be sure they unwrap the request before dispatching it. 

Hal


 -Original Message-
 From: Martin Cooper [mailto:[EMAIL PROTECTED]]
 Sent: Sunday, April 21, 2002 12:49 AM
 To: Struts Developers List; [EMAIL PROTECTED]
 Subject: Re: multipart/form-data (bug?) or intended behavior?
 
 
 Hal,
 
 With this patch, are the original request parameters still 
 available in the
 target action or JSP? For a multipart request, the request 
 wrapper is where
 the parameters are maintained so that request.getParameter() 
 and friends
 work as usual.
 
 If that all works, could you enter a bug report in bugzilla 
 and attach your
 patch to it? That will ensure that we don't lose track of it.
 
 Thanks.
 
 --
 Martin Cooper
 
 
 - Original Message -
 From: Hal Deadman [EMAIL PROTECTED]
 To: 'Struts Developers List' [EMAIL PROTECTED]
 Sent: Friday, April 19, 2002 10:38 AM
 Subject: RE: multipart/form-data (bug?) or intended behavior?
 
 
  The attached version of RequestProcessor.java fixed the multipart
  request forwarding issue that we were experiencing. Here is 
 the patch
  diff and I attached the old and new versions of 
 RequestProcessor.java.
  The patch just makes sure that the request is always 
 unwrapped before
  forwarding by moving the unwrap code to doForward() and 
 doInclude(). It
  could also just be added to processActionForward().
 
  534a535,539
   // Unwrap the multipart request (if any)
   if (request instanceof MultipartRequestWrapper) {
   request = ((MultipartRequestWrapper)
  request).getRequest();
   }
  
  568a574,578
   // Unwrap the multipart request (if any)
   if (request instanceof MultipartRequestWrapper) {
   request = ((MultipartRequestWrapper)
  request).getRequest();
   }
  
  932a943,945
   if (request instanceof MultipartRequestWrapper) {
   request = ((MultipartRequestWrapper)
  request).getRequest();
   }
  952,956d964
   // Unwrap the multipart request (if any)
   if (request instanceof MultipartRequestWrapper) {
   request = ((MultipartRequestWrapper)
  request).getRequest();
   }
  
  981,985d988
   // Unwrap the multipart request (if any)
   if (request instanceof MultipartRequestWrapper) {
   request = ((MultipartRequestWrapper)
  request).getRequest();
   }
  
  1058a1062
  
 
 
 
  -Original Message-
  From: Deadman, Hal [mailto:[EMAIL PROTECTED]]
  Sent: Friday, April 19, 2002 8:12 AM
  To: Struts Developers List
  Subject: RE: multipart/form-data (bug?) or intended behavior?
 
 
  Can't this multi-part request forward problem be fixed by 
 unwrapping the
  request before doing RequestDispatcher.forward/include? All 
 the methods
  in RequestProcessor get the real request object from within the
  MultipartRequestWrapper before calling doForward() or 
 doInclude() except
  for processActionForward() which gets called after action.execute().
 
  I think the
  if (request instanceof MultipartRequestWrapper) {
  request = ((MultipartRequestWrapper) 
 request).getRequest();
  }
 
  code should be moved to doForward() and doInclude() and removed
  everywhere else within RequestProcessor. I will try this fix today.
  Probably won't work because it seems too easy.
 
  Hal
 
  -Original Message-
  From: Adam P. Jenkins [mailto:[EMAIL PROTECTED]]
  Sent: Thu 4/18/2002 7:56 PM
  To: Struts Developers List
  Cc:
  Subject: Re: multipart/form-data (bug?) or intended behavior?
 
 
 
  Well, in your example scenario, you said that ActionOne 
 first saves the
  multipart data to a file, and then forwards to ActionTwo, 
 so there's no
  problem.  When happens when a redirect forward is returned from an
  Action is
  as follows:
 
  - Struts sees that the redirect property of the 
 ActionForward is true,
  so
  instead of just calling the next action in the same 
 request, it sends a
  response

Re: multipart/form-data (bug?) or intended behavior?

2002-04-23 Thread rob

Hal Deadman wrote:
 I haven't had a chance to test whether the request parameters are still
  available. Without the patch, the processActionForward() method will
  call doForward() if redirect=false which calls
  RequestDispatcher.forward().That will always fail if the wrapped request
  is used. Does it matter if getParameter() works or not in the actions
  that follow the first action?

No, I could care less if they worked in the actions that follow the
first action though others may find it useful?

  If that limitation exists I think it's preferable than getting an error.

I agree.

 
 Currently if the input attribute specified for the target after failed
  validation is an action or if you try to forward to an action from the
  first action execute method with redirect=false, then you get an error
  eventually after the actions execute method is called.
 
 After I submitted this patch, I thought it might not be the best way
  if anyone out there is extending RequestProcessor.java. Are there any
  struts extensions like Tiles or Velocity that extend that? If they are
  overriding doForward() or doInclude() then they need to be sure they
  unwrap the request before dispatching it.
 
 Hal
 
 
 
-Original Message-
From: Martin Cooper [mailto:[EMAIL PROTECTED]]
Sent: Sunday, April 21, 2002 12:49 AM
To: Struts Developers List; [EMAIL PROTECTED]
Subject: Re: multipart/form-data (bug?) or intended behavior?


Hal,

With this patch, are the original request parameters still 
available in the
target action or JSP? For a multipart request, the request 
wrapper is where
the parameters are maintained so that request.getParameter() 
and friends
work as usual.

If that all works, could you enter a bug report in bugzilla 
and attach your
patch to it? That will ensure that we don't lose track of it.

Thanks.

--
Martin Cooper


- Original Message -
From: Hal Deadman [EMAIL PROTECTED]
To: 'Struts Developers List' [EMAIL PROTECTED]
Sent: Friday, April 19, 2002 10:38 AM
Subject: RE: multipart/form-data (bug?) or intended behavior?



The attached version of RequestProcessor.java fixed the multipart
request forwarding issue that we were experiencing. Here is 

the patch

diff and I attached the old and new versions of 

RequestProcessor.java.

The patch just makes sure that the request is always 

unwrapped before

forwarding by moving the unwrap code to doForward() and 

doInclude(). It

could also just be added to processActionForward().

534a535,539

// Unwrap the multipart request (if any)
if (request instanceof MultipartRequestWrapper) {
request = ((MultipartRequestWrapper)

request).getRequest();

}


568a574,578

// Unwrap the multipart request (if any)
if (request instanceof MultipartRequestWrapper) {
request = ((MultipartRequestWrapper)

request).getRequest();

}


932a943,945

if (request instanceof MultipartRequestWrapper) {
request = ((MultipartRequestWrapper)

request).getRequest();

}

952,956d964
 // Unwrap the multipart request (if any)
 if (request instanceof MultipartRequestWrapper) {
 request = ((MultipartRequestWrapper)
request).getRequest();
 }

981,985d988
 // Unwrap the multipart request (if any)
 if (request instanceof MultipartRequestWrapper) {
 request = ((MultipartRequestWrapper)
request).getRequest();
 }

1058a1062



-Original Message-
From: Deadman, Hal [mailto:[EMAIL PROTECTED]]
Sent: Friday, April 19, 2002 8:12 AM
To: Struts Developers List
Subject: RE: multipart/form-data (bug?) or intended behavior?


Can't this multi-part request forward problem be fixed by 

unwrapping the

request before doing RequestDispatcher.forward/include? All 

the methods

in RequestProcessor get the real request object from within the
MultipartRequestWrapper before calling doForward() or 

doInclude() except

for processActionForward() which gets called after action.execute().

I think the
if (request instanceof MultipartRequestWrapper) {
request = ((MultipartRequestWrapper) 

request).getRequest();

}

code should be moved to doForward() and doInclude() and removed
everywhere else within RequestProcessor. I will try this fix today.
Probably won't work because it seems too easy.

Hal

-Original Message-
From: Adam P. Jenkins [mailto:[EMAIL PROTECTED]]
Sent: Thu 4/18/2002 7:56 PM
To: Struts Developers List
Cc:
Subject: Re: multipart/form-data (bug?) or intended behavior?



Well, in your example scenario, you said that ActionOne 

first saves the

multipart data to a file, and then forwards to ActionTwo, 

so there's no

problem.  When happens when a redirect forward is returned from an
Action is
as follows:

- Struts sees that the redirect property of the 

ActionForward is true,

so
instead of just calling the next action in the same 

request, it sends a

response back

Re: multipart/form-data (bug?) or intended behavior?

2002-04-20 Thread Martin Cooper

Hal,

With this patch, are the original request parameters still available in the
target action or JSP? For a multipart request, the request wrapper is where
the parameters are maintained so that request.getParameter() and friends
work as usual.

If that all works, could you enter a bug report in bugzilla and attach your
patch to it? That will ensure that we don't lose track of it.

Thanks.

--
Martin Cooper


- Original Message -
From: Hal Deadman [EMAIL PROTECTED]
To: 'Struts Developers List' [EMAIL PROTECTED]
Sent: Friday, April 19, 2002 10:38 AM
Subject: RE: multipart/form-data (bug?) or intended behavior?


 The attached version of RequestProcessor.java fixed the multipart
 request forwarding issue that we were experiencing. Here is the patch
 diff and I attached the old and new versions of RequestProcessor.java.
 The patch just makes sure that the request is always unwrapped before
 forwarding by moving the unwrap code to doForward() and doInclude(). It
 could also just be added to processActionForward().

 534a535,539
  // Unwrap the multipart request (if any)
  if (request instanceof MultipartRequestWrapper) {
  request = ((MultipartRequestWrapper)
 request).getRequest();
  }
 
 568a574,578
  // Unwrap the multipart request (if any)
  if (request instanceof MultipartRequestWrapper) {
  request = ((MultipartRequestWrapper)
 request).getRequest();
  }
 
 932a943,945
  if (request instanceof MultipartRequestWrapper) {
  request = ((MultipartRequestWrapper)
 request).getRequest();
  }
 952,956d964
  // Unwrap the multipart request (if any)
  if (request instanceof MultipartRequestWrapper) {
  request = ((MultipartRequestWrapper)
 request).getRequest();
  }
 
 981,985d988
  // Unwrap the multipart request (if any)
  if (request instanceof MultipartRequestWrapper) {
  request = ((MultipartRequestWrapper)
 request).getRequest();
  }
 
 1058a1062
 



 -Original Message-
 From: Deadman, Hal [mailto:[EMAIL PROTECTED]]
 Sent: Friday, April 19, 2002 8:12 AM
 To: Struts Developers List
 Subject: RE: multipart/form-data (bug?) or intended behavior?


 Can't this multi-part request forward problem be fixed by unwrapping the
 request before doing RequestDispatcher.forward/include? All the methods
 in RequestProcessor get the real request object from within the
 MultipartRequestWrapper before calling doForward() or doInclude() except
 for processActionForward() which gets called after action.execute().

 I think the
 if (request instanceof MultipartRequestWrapper) {
 request = ((MultipartRequestWrapper) request).getRequest();
 }

 code should be moved to doForward() and doInclude() and removed
 everywhere else within RequestProcessor. I will try this fix today.
 Probably won't work because it seems too easy.

 Hal

 -Original Message-
 From: Adam P. Jenkins [mailto:[EMAIL PROTECTED]]
 Sent: Thu 4/18/2002 7:56 PM
 To: Struts Developers List
 Cc:
 Subject: Re: multipart/form-data (bug?) or intended behavior?



 Well, in your example scenario, you said that ActionOne first saves the
 multipart data to a file, and then forwards to ActionTwo, so there's no
 problem.  When happens when a redirect forward is returned from an
 Action is
 as follows:

 - Struts sees that the redirect property of the ActionForward is true,
 so
 instead of just calling the next action in the same request, it sends a
 response back to the browser.  The response contains a Redirect: header
 which
 contains the URL for ActionTwo.  The browser sees the Redirect header
 and so
 makes a request for ActionTwo, this time with no multipart/form-data.
 The
 new request gets passed by struts directly to ActionTwo.

 Where the above would be a problem is if ActionOne did NOT handle the
 multipart data, but instead forwarded to ActionTwo expecting ActionTwo
 to
 handle the multipart data.  Since a redirect causes a new request to be
 made,
 any data in the current request is lost by the time ActionTwo gets
 called.
 But since in this case ActionOne already handled the request, there's no
 real
 problem.

 Another example of where using a redirect forward is a problem is if
 your
 action saves some ActionMessages or ActionErrors in the request and then
 forwards, expecting the page being forwarded to to display the messages.

 Since ActionMessages are stored in the request object, if you returned a
 redirect forward from your action, the messages will be lost by the time
 the
 next page gets the request.

 Adam

 On Thursday 18 April 2002 01:14 pm, you wrote:
  Thats a pretty dirty workaround if your multipart request contained a
  5MB file being uploaded.  Or what occurs in that case (when the
 browser
  makes the new request)?
 
  Rob
 
  Adam P. Jenkins wrote:
   I believe another workaround is to set the redirect attribute

RE: multipart/form-data (bug?) or intended behavior?

2002-04-19 Thread Deadman, Hal

Can't this multi-part request forward problem be fixed by unwrapping the request 
before doing RequestDispatcher.forward/include? All the methods in RequestProcessor 
get the real request object from within the MultipartRequestWrapper before calling 
doForward() or doInclude() except for processActionForward() which gets called after 
action.execute(). 
 
I think the 
if (request instanceof MultipartRequestWrapper) {
request = ((MultipartRequestWrapper) request).getRequest();
}

code should be moved to doForward() and doInclude() and removed everywhere else within 
RequestProcessor. I will try this fix today. Probably won't work because it seems too 
easy. 
 
Hal

-Original Message- 
From: Adam P. Jenkins [mailto:[EMAIL PROTECTED]] 
Sent: Thu 4/18/2002 7:56 PM 
To: Struts Developers List 
Cc: 
Subject: Re: multipart/form-data (bug?) or intended behavior?



Well, in your example scenario, you said that ActionOne first saves the
multipart data to a file, and then forwards to ActionTwo, so there's no
problem.  When happens when a redirect forward is returned from an Action is
as follows:

- Struts sees that the redirect property of the ActionForward is true, so
instead of just calling the next action in the same request, it sends a
response back to the browser.  The response contains a Redirect: header which
contains the URL for ActionTwo.  The browser sees the Redirect header and so
makes a request for ActionTwo, this time with no multipart/form-data.  The
new request gets passed by struts directly to ActionTwo. 

Where the above would be a problem is if ActionOne did NOT handle the
multipart data, but instead forwarded to ActionTwo expecting ActionTwo to
handle the multipart data.  Since a redirect causes a new request to be made,
any data in the current request is lost by the time ActionTwo gets called. 
But since in this case ActionOne already handled the request, there's no real
problem.

Another example of where using a redirect forward is a problem is if your
action saves some ActionMessages or ActionErrors in the request and then
forwards, expecting the page being forwarded to to display the messages. 
Since ActionMessages are stored in the request object, if you returned a
redirect forward from your action, the messages will be lost by the time the
next page gets the request.

Adam

On Thursday 18 April 2002 01:14 pm, you wrote:
 Thats a pretty dirty workaround if your multipart request contained a
 5MB file being uploaded.  Or what occurs in that case (when the browser
 makes the new request)?

 Rob

 Adam P. Jenkins wrote:
  I believe another workaround is to set the redirect attribute on the
  forward to true.  E.g. the action config for ActionOne would have a local
  forward like this:
 
  forward name=nextaction path=/action2.do redirect=true/
 
  Then in ActionOne, when you return mapping.findForward(nextaction),
  this will cause the struts to send a redirect header to the browser
  telling it to make a new request for action2.  This works fine unless you
  really wanted ActionTwo to have access to the same request attributes and
  parameters as ActionOne.
 
  Adam
 
  On Thursday 18 April 2002 08:47 am, rob wrote:
 It's been this way since struts 1.0 (and likely prior to) but http
 requests carrying multipart/form-data posts result in an exception being
 thrown if forwarded through more than one action.
 
 (e.g request flow)
 
 1 - submit multipart/form-data request (with at least one file input)
  request is forwarded to ActionOne.
 2 - ActionOne handles multipart data, writes a file to disk does
  something with other parameters etc.  then forwards to ActionTwo.
 3 - Exception is thrown.
 
 This occurs in the following versions I've tested 1.0.x, 1.1-b1.  Copies
 of the exceptions follow this post.
 
 Workaround, never forward to a second action, always forward to a .jsp
 which must be the end point for the request after the first action.
 (This kind of sucks).
 
 If this is a bug then consider it submitted, if it's designed this way
 then how about changing it?  (pretty please?)
 
 Thanks
 
 Rob
 
  --
  To unsubscribe, e-mail: 
  mailto:[EMAIL PROTECTED

RE: multipart/form-data (bug?) or intended behavior?

2002-04-18 Thread Matt Raible

Rob, this is how it works pre-1.1.  1.1b1 has a bug in it and is not
even usable (for me).

In  1.1 you have to add redirect=true to your action forward to
forward to another action.  This is only when using the multi-part
request.  Search the archives for more information.

Matt

 -Original Message-
 From: Jens Viebig [mailto:[EMAIL PROTECTED]] 
 Sent: Thursday, April 18, 2002 7:09 AM
 To: Struts Developers List; [EMAIL PROTECTED]
 Subject: Re: multipart/form-data (bug?) or intended behavior?
 
 
 I posted a Patch to this Mailing List a few days ago, but 
 nobody seems to be interested in it. I got an Error in 1.1b 
 even when i just forwarded a Multipart-Request to a 
 JSP-Page.It's a bug in the RequestProcessor
 doForward() Method. There the MultipartRequestWrapper must be 
 unwrapped to a normal HttpServletRequest-Object. See the patch
 
 - Original Message -
 From: rob [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Thursday, April 18, 2002 2:47 PM
 Subject: multipart/form-data (bug?) or intended behavior?
 
 
  It's been this way since struts 1.0 (and likely prior to) but http 
  requests carrying multipart/form-data posts result in an exception 
  being thrown if forwarded through more than one action.
 
  (e.g request flow)
 
  1 - submit multipart/form-data request (with at least one 
 file input)
   request is forwarded to ActionOne.
  2 - ActionOne handles multipart data, writes a file to disk does
   something with other parameters etc.  then forwards to 
 ActionTwo. 
  3 - Exception is thrown.
 
  This occurs in the following versions I've tested 1.0.x, 1.1-b1.  
  Copies of the exceptions follow this post.
 
  Workaround, never forward to a second action, always 
 forward to a .jsp 
  which must be the end point for the request after the first action. 
  (This kind of sucks).
 
  If this is a bug then consider it submitted, if it's 
 designed this way 
  then how about changing it?  (pretty please?)
 
  Thanks
 
  Rob
 
 
  --
  To unsubscribe, e-mail:
 mailto:[EMAIL PROTECTED]
  For additional commands, e-mail:
 mailto:[EMAIL PROTECTED]
 
 



--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: multipart/form-data (bug?) or intended behavior?

2002-04-18 Thread Adam P. Jenkins

I believe another workaround is to set the redirect attribute on the forward 
to true.  E.g. the action config for ActionOne would have a local forward 
like this:

forward name=nextaction path=/action2.do redirect=true/

Then in ActionOne, when you return mapping.findForward(nextaction), this 
will cause the struts to send a redirect header to the browser telling it to 
make a new request for action2.  This works fine unless you really wanted 
ActionTwo to have access to the same request attributes and parameters as 
ActionOne.

Adam

On Thursday 18 April 2002 08:47 am, rob wrote:
 It's been this way since struts 1.0 (and likely prior to) but http
 requests carrying multipart/form-data posts result in an exception being
 thrown if forwarded through more than one action.

 (e.g request flow)

 1 - submit multipart/form-data request (with at least one file input)
  request is forwarded to ActionOne.
 2 - ActionOne handles multipart data, writes a file to disk does
  something with other parameters etc.  then forwards to ActionTwo.
 3 - Exception is thrown.

 This occurs in the following versions I've tested 1.0.x, 1.1-b1.  Copies
 of the exceptions follow this post.

 Workaround, never forward to a second action, always forward to a .jsp
 which must be the end point for the request after the first action.
 (This kind of sucks).

 If this is a bug then consider it submitted, if it's designed this way
 then how about changing it?  (pretty please?)

 Thanks

 Rob

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: multipart/form-data (bug?) or intended behavior?

2002-04-18 Thread rob

Thats a pretty dirty workaround if your multipart request contained a
5MB file being uploaded.  Or what occurs in that case (when the browser
makes the new request)?

Rob

Adam P. Jenkins wrote:
 I believe another workaround is to set the redirect attribute on the forward 
 to true.  E.g. the action config for ActionOne would have a local forward 
 like this:
 
 forward name=nextaction path=/action2.do redirect=true/
 
 Then in ActionOne, when you return mapping.findForward(nextaction), this 
 will cause the struts to send a redirect header to the browser telling it to 
 make a new request for action2.  This works fine unless you really wanted 
 ActionTwo to have access to the same request attributes and parameters as 
 ActionOne.
 
 Adam
 
 On Thursday 18 April 2002 08:47 am, rob wrote:
 
It's been this way since struts 1.0 (and likely prior to) but http
requests carrying multipart/form-data posts result in an exception being
thrown if forwarded through more than one action.

(e.g request flow)

1 - submit multipart/form-data request (with at least one file input)
 request is forwarded to ActionOne.
2 - ActionOne handles multipart data, writes a file to disk does
 something with other parameters etc.  then forwards to ActionTwo.
3 - Exception is thrown.

This occurs in the following versions I've tested 1.0.x, 1.1-b1.  Copies
of the exceptions follow this post.

Workaround, never forward to a second action, always forward to a .jsp
which must be the end point for the request after the first action.
(This kind of sucks).

If this is a bug then consider it submitted, if it's designed this way
then how about changing it?  (pretty please?)

Thanks

Rob
 
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 
 




--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: multipart/form-data (bug?) or intended behavior?

2002-04-18 Thread Adam P. Jenkins

Well, in your example scenario, you said that ActionOne first saves the 
multipart data to a file, and then forwards to ActionTwo, so there's no 
problem.  When happens when a redirect forward is returned from an Action is 
as follows:

- Struts sees that the redirect property of the ActionForward is true, so 
instead of just calling the next action in the same request, it sends a 
response back to the browser.  The response contains a Redirect: header which 
contains the URL for ActionTwo.  The browser sees the Redirect header and so 
makes a request for ActionTwo, this time with no multipart/form-data.  The 
new request gets passed by struts directly to ActionTwo.  

Where the above would be a problem is if ActionOne did NOT handle the 
multipart data, but instead forwarded to ActionTwo expecting ActionTwo to 
handle the multipart data.  Since a redirect causes a new request to be made, 
any data in the current request is lost by the time ActionTwo gets called.  
But since in this case ActionOne already handled the request, there's no real 
problem.

Another example of where using a redirect forward is a problem is if your 
action saves some ActionMessages or ActionErrors in the request and then 
forwards, expecting the page being forwarded to to display the messages.  
Since ActionMessages are stored in the request object, if you returned a 
redirect forward from your action, the messages will be lost by the time the 
next page gets the request.

Adam

On Thursday 18 April 2002 01:14 pm, you wrote:
 Thats a pretty dirty workaround if your multipart request contained a
 5MB file being uploaded.  Or what occurs in that case (when the browser
 makes the new request)?

 Rob

 Adam P. Jenkins wrote:
  I believe another workaround is to set the redirect attribute on the
  forward to true.  E.g. the action config for ActionOne would have a local
  forward like this:
 
  forward name=nextaction path=/action2.do redirect=true/
 
  Then in ActionOne, when you return mapping.findForward(nextaction),
  this will cause the struts to send a redirect header to the browser
  telling it to make a new request for action2.  This works fine unless you
  really wanted ActionTwo to have access to the same request attributes and
  parameters as ActionOne.
 
  Adam
 
  On Thursday 18 April 2002 08:47 am, rob wrote:
 It's been this way since struts 1.0 (and likely prior to) but http
 requests carrying multipart/form-data posts result in an exception being
 thrown if forwarded through more than one action.
 
 (e.g request flow)
 
 1 - submit multipart/form-data request (with at least one file input)
  request is forwarded to ActionOne.
 2 - ActionOne handles multipart data, writes a file to disk does
  something with other parameters etc.  then forwards to ActionTwo.
 3 - Exception is thrown.
 
 This occurs in the following versions I've tested 1.0.x, 1.1-b1.  Copies
 of the exceptions follow this post.
 
 Workaround, never forward to a second action, always forward to a .jsp
 which must be the end point for the request after the first action.
 (This kind of sucks).
 
 If this is a bug then consider it submitted, if it's designed this way
 then how about changing it?  (pretty please?)
 
 Thanks
 
 Rob
 
  --
  To unsubscribe, e-mail:  
  mailto:[EMAIL PROTECTED] For additional
  commands, e-mail: mailto:[EMAIL PROTECTED]

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]