DispatcherServlet skips multipart resolution if error page exception attribute indicates MultipartException as root cause

Issue: SPR-11716
This commit is contained in:
Juergen Hoeller 2014-04-23 14:36:14 +02:00
parent fb66567bba
commit 5b47816183
1 changed files with 5 additions and 1 deletions

View File

@ -904,7 +904,7 @@ public class DispatcherServlet extends FrameworkServlet {
try {
processedRequest = checkMultipart(request);
multipartRequestParsed = processedRequest != request;
multipartRequestParsed = (processedRequest != request);
// Determine handler for the current request.
mappedHandler = getHandler(processedRequest);
@ -1059,6 +1059,10 @@ public class DispatcherServlet extends FrameworkServlet {
logger.debug("Request is already a MultipartHttpServletRequest - if not in a forward, " +
"this typically results from an additional MultipartFilter in web.xml");
}
else if (request.getAttribute(WebUtils.ERROR_EXCEPTION_ATTRIBUTE) instanceof MultipartException) {
logger.debug("Multipart resolution failed for current request before - " +
"skipping re-resolution for undisturbed error rendering");
}
else {
return this.multipartResolver.resolveMultipart(request);
}