diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java index 6483616edb..0a2b40ca4c 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/DispatcherServlet.java @@ -1268,6 +1268,7 @@ public class DispatcherServlet extends FrameworkServlet { * @param request current HTTP request * @param attributesSnapshot the snapshot of the request attributes before the include */ + @SuppressWarnings("unchecked") private void restoreAttributesAfterInclude(HttpServletRequest request, Map attributesSnapshot) { logger.debug("Restoring snapshot of request attributes after include"); @@ -1282,6 +1283,9 @@ public class DispatcherServlet extends FrameworkServlet { } } + // Add attributes that may have been removed + attrsToCheck.addAll((Set) attributesSnapshot.keySet()); + // Iterate over the attributes to check, restoring the original value // or removing the attribute, respectively, if appropriate. for (String attrName : attrsToCheck) {