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 . |
boolean |
isExpired()
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, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
equals, hashCode
public void setTargetRequestPath(String path)
path
- the URI pathpublic String getTargetRequestPath()
null
.public FlashMap addTargetRequestParams(MultiValueMap<String,String> params)
params
- a Map with the names and values of expected parameters.public 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>