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 request current HTTP request
|
||||||
* @param attributesSnapshot the snapshot of the request attributes before the include
|
* @param attributesSnapshot the snapshot of the request attributes before the include
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
private void restoreAttributesAfterInclude(HttpServletRequest request, Map<?,?> attributesSnapshot) {
|
private void restoreAttributesAfterInclude(HttpServletRequest request, Map<?,?> attributesSnapshot) {
|
||||||
logger.debug("Restoring snapshot of request attributes after include");
|
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
|
// Iterate over the attributes to check, restoring the original value
|
||||||
// or removing the attribute, respectively, if appropriate.
|
// or removing the attribute, respectively, if appropriate.
|
||||||
for (String attrName : attrsToCheck) {
|
for (String attrName : attrsToCheck) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue