mschachter 01/05/18 10:11:40
Modified: src/share/org/apache/struts/action ActionServlet.java
Log:
- Make sure that a wrapped request object is converted back to the original
before any forwarding or including processing is done on it
Submitted By: Hal Deadman
Revision Changes Path
1.69 +16 -4
jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java
Index: ActionServlet.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- ActionServlet.java 2001/05/11 22:33:32 1.68
+++ ActionServlet.java 2001/05/18 17:11:37 1.69
@@ -1,7 +1,7 @@
/*
- * $Header:
/home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v 1.68
2001/05/11 22:33:32 mschachter Exp $
- * $Revision: 1.68 $
- * $Date: 2001/05/11 22:33:32 $
+ * $Header:
/home/cvs/jakarta-struts/src/share/org/apache/struts/action/ActionServlet.java,v 1.69
2001/05/18 17:11:37 mschachter Exp $
+ * $Revision: 1.69 $
+ * $Date: 2001/05/18 17:11:37 $
*
* ====================================================================
*
@@ -229,7 +229,7 @@
* </ul>
*
* @author Craig R. McClanahan
- * @version $Revision: 1.68 $ $Date: 2001/05/11 22:33:32 $
+ * @version $Revision: 1.69 $ $Date: 2001/05/18 17:11:37 $
*/
public class ActionServlet
@@ -1818,6 +1818,10 @@
if (forward == null)
return (true);
+ //unwrap the multipart request if there is one
+ if (request instanceof MultipartRequestWrapper) {
+ request = ((MultipartRequestWrapper) request).getRequest();
+ }
// Construct a request dispatcher for the specified path
RequestDispatcher rd =
getServletContext().getRequestDispatcher(forward);
@@ -1859,6 +1863,10 @@
if (include == null)
return (true);
+ //unwrap the multipart request if there is one
+ if (request instanceof MultipartRequestWrapper) {
+ request = ((MultipartRequestWrapper) request).getRequest();
+ }
// Construct a request dispatcher for the specified path
RequestDispatcher rd =
getServletContext().getRequestDispatcher(include);
@@ -2116,6 +2124,10 @@
if (debug >= 1)
log(" Validation error(s), redirecting to: " + uri);
request.setAttribute(Action.ERROR_KEY, errors);
+ //unwrap the multipart request if there is one
+ if (request instanceof MultipartRequestWrapper) {
+ request = ((MultipartRequestWrapper) request).getRequest();
+ }
RequestDispatcher rd = getServletContext().getRequestDispatcher(uri);
if (rd == null) {
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,