DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=17583>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=17583

Handling parameters from MultipartRequestWrapper





------- Additional Comments From [EMAIL PROTECTED]  2004-06-07 23:42 -------
I just ran into this problem today as well (the missing parameters in the
request that gets forwarded on).

I found it wasn't too difficult to fix this problem by writing a subclass of
RequestProcessor and configuring struts to use the new one (didn't touch any of
the struts code).

I only had to override
  doFoward(): to wrap MultipartRequest in HttpServletRequestWrapper instead of
unwrapping.

  doInclude(): same as doForward()

  processMultipart(): recusively unwrap all instances of
HttpServletRequestWrapper (tomcat does some wrapping too) and either return the
MultipartRequestWrapper that should be inside, or the request in a new one.

  process(): move processPath before processMultipart, so that the current path
isn't taken from the previous request, which results in a possible infinite loop.

I also had to write a new subclass of MultipartRequestWrapper that implements
the Servlet 2.3 methods since tomcat wraps the request and invokes
getParameterMap to get all the parameters and load them locally.  Then use the
new subclass in my RequestProcessor.processMultipart.

so far it's working just the way i expected struts to behave in the first place.
 Would have been nice if the struts guys implemented the same way so that a
config change is all we would need to have Servlet 2.3 compliance, but oh well.

my modifications are attached if anyone wants to use them :)

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

Reply via email to