public interface RedirectAttributes
extends org.springframework.ui.Model
Model interface that controllers can use to
select attributes for a redirect scenario. Since the intent of adding
redirect attributes is very explicit -- i.e. to be used for a redirect URL,
attribute values may be formatted as Strings and stored that way to make
them eligible to be appended to the query string or expanded as URI
variables in org.springframework.web.servlet.view.RedirectView.
This interface also provides a way to add flash attributes. For a
general overview of flash attributes see FlashMap. You can use
RedirectAttributes to store flash attributes and they will be
automatically propagated to the "output" FlashMap of the current request.
Example usage in an @Controller:
@RequestMapping(value = "/accounts", method = RequestMethod.POST)
public String handle(Account account, BindingResult result, RedirectAttributes redirectAttrs) {
if (result.hasErrors()) {
return "accounts/new";
}
// Save account ...
redirectAttrs.addAttribute("id", account.getId()).addFlashAttribute("message", "Account created!");
return "redirect:/accounts/{id}";
}
A RedirectAttributes model is empty when the method is called and is never used unless the method returns a redirect view name or a RedirectView.
After the redirect, flash attributes are automatically added to the model of the controller that serves the target URL.
| Modifier and Type | Method and Description |
|---|---|
RedirectAttributes |
addAllAttributes(Collection<?> attributeValues) |
RedirectAttributes |
addAttribute(Object attributeValue) |
RedirectAttributes |
addAttribute(String attributeName,
Object attributeValue) |
RedirectAttributes |
addFlashAttribute(Object attributeValue)
Add the given flash storage using a
generated name. |
RedirectAttributes |
addFlashAttribute(String attributeName,
Object attributeValue)
Add the given flash attribute.
|
Map<String,?> |
getFlashAttributes()
Return the attributes candidate for flash storage or an empty Map.
|
RedirectAttributes |
mergeAttributes(Map<String,?> attributes) |
RedirectAttributes addAttribute(String attributeName, Object attributeValue)
addAttribute in interface org.springframework.ui.ModelRedirectAttributes addAttribute(Object attributeValue)
addAttribute in interface org.springframework.ui.ModelRedirectAttributes addAllAttributes(Collection<?> attributeValues)
addAllAttributes in interface org.springframework.ui.ModelRedirectAttributes mergeAttributes(Map<String,?> attributes)
mergeAttributes in interface org.springframework.ui.ModelRedirectAttributes addFlashAttribute(String attributeName, Object attributeValue)
attributeName - the attribute name; never nullattributeValue - the attribute value; may be nullRedirectAttributes addFlashAttribute(Object attributeValue)
generated name.attributeValue - the flash attribute value; never null