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, getAttribute
RedirectAttributes addAttribute(StringSE attributeName, @Nullable ObjectSE attributeValue)
Model
Model
の addAttribute
attributeName
- モデル属性の名前 (非 null
)attributeValue
- モデル属性値 (null
にすることができます)RedirectAttributes addAttribute(ObjectSE attributeValue)
Model
generated name
を使用して、この Map
に提供された属性を追加します。 メモ: 真の規則名を正しく判別できないため、このメソッドを使用する場合、空の Collections
SE はモデルに追加されません。ビューコードは、JSTL タグによってすでに行われているように、空のコレクションではなく null
をチェックする必要があります。
Model
の addAttribute
attributeValue
- モデル属性値 (非 null
)RedirectAttributes addAllAttributes(CollectionSE<?> attributeValues)
Model
Collection
のすべての属性をこの Map
にコピーします。Model
の addAllAttributes
Model.addAttribute(Object)
RedirectAttributes mergeAttributes(MapSE<StringSE,?> attributes)
Model
Map
のすべての属性をこの Map
にコピーします。同じ名前の既存のオブジェクトが優先されます(つまり、置き換えられません)。Model
の mergeAttributes
RedirectAttributes addFlashAttribute(StringSE attributeName, @Nullable ObjectSE attributeValue)
attributeName
- 属性名 ; 決して null
attributeValue
- 属性値。null
の場合があります RedirectAttributes addFlashAttribute(ObjectSE attributeValue)
generated name
を使用して、指定されたフラッシュストレージを追加します。attributeValue
- フラッシュ属性値。非 null