public interface RedirectAttributes extends Model
Model インターフェースの特殊化。リダイレクト属性を追加する意図は非常に明示的であるため(つまり、リダイレクト URL に使用されるため)、属性値を文字列としてフォーマットし、クエリ文字列に追加したり、org.springframework.web.servlet.view.RedirectView の URI 変数として展開したりできるように保存したりできます。 このインターフェースは、フラッシュ属性を追加する方法も提供します。フラッシュ属性の一般的な概要については、FlashMap を参照してください。RedirectAttributes を使用してフラッシュ属性を保存すると、現在のリクエストの「出力」FlashMap に自動的に反映されます。
@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}";
}
RedirectAttributes モデルはメソッドが呼び出されたときは空であり、メソッドがリダイレクトビュー名または RedirectView を返さない限り使用されません。
リダイレクト後、フラッシュ URL 属性は、ターゲット URL を提供するコントローラーのモデルに自動的に追加されます。
| 修飾子と型 | メソッドと説明 |
|---|---|
RedirectAttributes | addAllAttributes(CollectionSE<?> attributeValues) 各要素の属性名の生成を使用して、提供された Collection のすべての属性をこの Map にコピーします。 |
RedirectAttributes | addAttribute(ObjectSE attributeValue)generated name を使用して、この Map に提供された属性を追加します。 |
RedirectAttributes | addAttribute(StringSE attributeName, ObjectSE attributeValue) 指定された名前に指定された属性を追加します。 |
RedirectAttributes | addFlashAttribute(ObjectSE attributeValue)generated name を使用して、指定されたフラッシュストレージを追加します。 |
RedirectAttributes | addFlashAttribute(StringSE attributeName, ObjectSE attributeValue) 指定されたフラッシュ属性を追加します。 |
MapSE<StringSE,?> | getFlashAttributes() フラッシュストレージの属性候補または空のマップを返します。 |
RedirectAttributes | mergeAttributes(MapSE<StringSE,?> attributes) 指定された Map のすべての属性をこの Map にコピーします。同じ名前の既存のオブジェクトが優先されます(つまり |
addAllAttributes, asMap, containsAttribute, getAttributeRedirectAttributes addAttribute(StringSE attributeName, @Nullable ObjectSE attributeValue)
ModelModel の addAttribute attributeName - モデル属性の名前 (非 null)attributeValue - モデル属性値 (null にすることができます)RedirectAttributes addAttribute(ObjectSE attributeValue)
Modelgenerated name を使用して、この Map に提供された属性を追加します。 メモ: 真の規則名を正しく判別できないため、このメソッドを使用する場合、空の CollectionsSE はモデルに追加されません。ビューコードは、JSTL タグによってすでに行われているように、空のコレクションではなく null をチェックする必要があります。
Model の addAttribute attributeValue - モデル属性値 (非 null)RedirectAttributes addAllAttributes(CollectionSE<?> attributeValues)
ModelCollection のすべての属性をこの Map にコピーします。Model の addAllAttributes Model.addAttribute(Object)RedirectAttributes mergeAttributes(MapSE<StringSE,?> attributes)
ModelMap のすべての属性をこの Map にコピーします。同じ名前の既存のオブジェクトが優先されます(つまり、置き換えられません)。Model の mergeAttributes RedirectAttributes addFlashAttribute(StringSE attributeName, @Nullable ObjectSE attributeValue)
attributeName - 属性名 ; 決して nullattributeValue - 属性値。null の場合があります RedirectAttributes addFlashAttribute(ObjectSE attributeValue)
generated name を使用して、指定されたフラッシュストレージを追加します。attributeValue - フラッシュ属性値。非 null