インターフェース RedirectAttributes
- すべてのスーパーインターフェース:
Model
- すべての既知の実装クラス:
RedirectAttributesModelMap
コントローラーがリダイレクトシナリオの属性を選択するために使用できる
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 を提供するコントローラーのモデルに自動的に追加されます。
- 導入:
- 3.1
- 作成者:
- Rossen Stoyanchev
メソッドのサマリー
修飾子と型メソッド説明addAllAttributes
(CollectionSE<?> attributeValues) 各要素の属性名の生成を使用して、提供されたCollection
のすべての属性をこのMap
にコピーします。addAttribute
(ObjectSE attributeValue) generated name
を使用して、このMap
に提供された属性を追加します。addAttribute
(StringSE attributeName, ObjectSE attributeValue) 指定された名前に指定された属性を追加します。addFlashAttribute
(ObjectSE attributeValue) generated name
を使用して、指定されたフラッシュストレージを追加します。addFlashAttribute
(StringSE attributeName, ObjectSE attributeValue) 指定されたフラッシュ属性を追加します。フラッシュストレージの属性候補または空のマップを返します。mergeAttributes
(MapSE<StringSE, ?> attributes) 指定されたMap
のすべての属性をこのMap
にコピーします。同じ名前の既存のオブジェクトが優先されます(つまりインターフェース org.springframework.ui.Model から継承されたメソッド
addAllAttributes, asMap, containsAttribute, getAttribute
メソッドの詳細
addAttribute
インターフェースからコピーされた説明:Model
指定された名前に指定された属性を追加します。- 次で指定:
- インターフェース
Model
のaddAttribute
- パラメーター:
attributeName
- モデル属性の名前 (非null
)attributeValue
- モデル属性値 (null
にすることができます)
addAttribute
インターフェースからコピーされた説明:Model
generated name
を使用して、このMap
に提供された属性を追加します。メモ: 真の規則名を正しく判別できないため、このメソッドを使用する場合、空の
Collections
SE はモデルに追加されません。ビューコードは、JSTL タグによってすでに行われているように、空のコレクションではなくnull
をチェックする必要があります。- 次で指定:
- インターフェース
Model
のaddAttribute
- パラメーター:
attributeValue
- モデル属性値 (非null
)
addAllAttributes
インターフェースからコピーされた説明:Model
各要素の属性名の生成を使用して、提供されたCollection
のすべての属性をこのMap
にコピーします。- 次で指定:
- インターフェース
Model
のaddAllAttributes
- 関連事項:
mergeAttributes
インターフェースからコピーされた説明:Model
指定されたMap
のすべての属性をこのMap
にコピーします。同じ名前の既存のオブジェクトが優先されます(つまり、置き換えられません)。- 次で指定:
- インターフェース
Model
のmergeAttributes
addFlashAttribute
指定されたフラッシュ属性を追加します。- パラメーター:
attributeName
- 属性名 ; 決してnull
attributeValue
- 属性値。null
の場合があります
addFlashAttribute
generated name
を使用して、指定されたフラッシュストレージを追加します。- パラメーター:
attributeValue
- フラッシュ属性値。非null
getFlashAttributes
フラッシュストレージの属性候補または空のマップを返します。