public final class FlashMap extends HashMap<String,Object> implements Comparable<FlashMap>
A FlashMap can be set up with a request path and request parameters to
help identify the target request. Without this information, a FlashMap is
made available to the next request, which may or may not be the intended
recipient. On a redirect, the target URL is known and a FlashMap can be
updated with that information. This is done automatically when the
org.springframework.web.servlet.view.RedirectView is used.
Note: annotated controllers will usually not use FlashMap directly.
See org.springframework.web.servlet.mvc.support.RedirectAttributes
for an overview of using flash attributes in annotated controllers.
FlashMapManager,
Serialized FormAbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>| Constructor and Description |
|---|
FlashMap() |
| Modifier and Type | Method and Description |
|---|---|
FlashMap |
addTargetRequestParam(String name,
String value)
Provide a request parameter identifying the request for this FlashMap.
|
FlashMap |
addTargetRequestParams(MultiValueMap<String,String> params)
Provide request parameters identifying the request for this FlashMap.
|
int |
compareTo(FlashMap other)
Compare two FlashMaps and prefer the one that specifies a target URL
path or has more target URL parameters.
|
MultiValueMap<String,String> |
getTargetRequestParams()
Return the parameters identifying the target request, or an empty map.
|
String |
getTargetRequestPath()
Return the target URL path (or
null if none specified). |
boolean |
isExpired()
Return whether this instance has expired depending on the amount of
elapsed time since the call to
startExpirationPeriod(int). |
void |
setTargetRequestPath(String path)
Provide a URL path to help identify the target request for this FlashMap.
|
void |
startExpirationPeriod(int timeToLive)
Start the expiration period for this instance.
|
String |
toString() |
clear, clone, containsKey, containsValue, entrySet, get, isEmpty, keySet, put, putAll, remove, size, valuesequals, hashCodepublic void setTargetRequestPath(String path)
The path may be absolute (e.g. "/application/resource") or relative to the current request (e.g. "../resource").
public String getTargetRequestPath()
null if none specified).public FlashMap addTargetRequestParams(MultiValueMap<String,String> params)
params - a Map with the names and values of expected parameterspublic FlashMap addTargetRequestParam(String name, String value)
name - the expected parameter name (skipped if empty or null)value - the expected value (skipped if empty or null)public MultiValueMap<String,String> getTargetRequestParams()
public void startExpirationPeriod(int timeToLive)
timeToLive - the number of seconds before expirationpublic boolean isExpired()
startExpirationPeriod(int).public int compareTo(FlashMap other)
compareTo in interface Comparable<FlashMap>public String toString()
toString in class AbstractMap<String,Object>