Fix issue with restoring included attributes
Before this change the DispatcherServlet restored modified and also removed added attributes but did not restore removed attributes. Issue: SPR-10360
This commit is contained in:
parent
e9f74450ad
commit
0fb4b747c2
|
|
@ -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<String>) attributesSnapshot.keySet());
|
||||
|
||||
// Iterate over the attributes to check, restoring the original value
|
||||
// or removing the attribute, respectively, if appropriate.
|
||||
for (String attrName : attrsToCheck) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue