You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by bu...@apache.org on 2002/06/25 20:51:23 UTC
DO NOT REPLY [Bug 10227] New: -
RequestProcessor doesn't uncast the Request properly
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10227>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10227
RequestProcessor doesn't uncast the Request properly
Summary: RequestProcessor doesn't uncast the Request properly
Product: Struts
Version: 1.1 Beta 1
Platform: All
OS/Version: Other
Status: NEW
Severity: Major
Priority: Other
Component: File Upload
AssignedTo: struts-dev@jakarta.apache.org
ReportedBy: dugsmith@arogos.com
When a form's enctype="multipart/form-data", Struts automatically wraps the
request into a MultipartRequestWrapper. However, in Struts 1.1 Beta 1, it
doesn't unwrap it before passing along to the forward. This breaks the app
server (JRun 4.0 in my testing).
I found working code in Struts 1.0 and patched it into the process(request,
response) method of RequestProcessor. My diff -u report follows.
Thanks,
Doug
----------------------------------
--- RequestProcessor.java.orig Tue Jun 25 14:39:32 2002
+++ RequestProcessor.java Tue Jun 25 14:39:29 2002
@@ -141,7 +141,7 @@
*/
protected Log log = LogFactory.getLog(this.getClass());
-
+
/**
* The controller servlet we are associated with.
*/
@@ -265,6 +265,12 @@
processActionPerform(request, response,
action, form, mapping);
+ //set the request back to it's normal state if it's currently wrapped,
+ //to avoid ClassCastExceptions from ServletContainers if forwarding
+ if (request instanceof MultipartRequestWrapper) {
+ request = ((MultipartRequestWrapper) request).getRequest();
+ }
+
// Process the returned ActionForward instance
processActionForward(request, response, forward);
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>