インターフェース RedirectAttributes

すべてのスーパーインターフェース:
Model
すべての既知の実装クラス:
RedirectAttributesModelMap

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 を提供するコントローラーのモデルに自動的に追加されます。

導入:
3.1
作成者:
Rossen Stoyanchev
  • メソッドの詳細

    • addAttribute

      RedirectAttributes addAttribute(StringSE attributeName, @Nullable ObjectSE attributeValue)
      インターフェースからコピーされた説明: Model
      指定された名前に指定された属性を追加します。
      次で指定:
      インターフェース ModeladdAttribute 
      パラメーター:
      attributeName - モデル属性の名前 (非 null)
      attributeValue - モデル属性値 (null にすることができます)
    • addAttribute

      RedirectAttributes addAttribute(ObjectSE attributeValue)
      インターフェースからコピーされた説明: Model
      generated name を使用して、この Map に提供された属性を追加します。

      メモ: 真の規則名を正しく判別できないため、このメソッドを使用する場合、空の CollectionsSE はモデルに追加されません。ビューコードは、JSTL タグによってすでに行われているように、空のコレクションではなく null をチェックする必要があります。

      次で指定:
      インターフェース ModeladdAttribute 
      パラメーター:
      attributeValue - モデル属性値 (非 null)
    • addAllAttributes

      RedirectAttributes addAllAttributes(CollectionSE<?> attributeValues)
      インターフェースからコピーされた説明: Model
      各要素の属性名の生成を使用して、提供された Collection のすべての属性をこの Map にコピーします。
      次で指定:
      インターフェース ModeladdAllAttributes 
      関連事項:
    • mergeAttributes

      RedirectAttributes mergeAttributes(MapSE<StringSE,?> attributes)
      インターフェースからコピーされた説明: Model
      指定された Map のすべての属性をこの Map にコピーします。同じ名前の既存のオブジェクトが優先されます(つまり、置き換えられません)。
      次で指定:
      インターフェース ModelmergeAttributes 
    • addFlashAttribute

      RedirectAttributes addFlashAttribute(StringSE attributeName, @Nullable ObjectSE attributeValue)
      指定されたフラッシュ属性を追加します。
      パラメーター:
      attributeName - 属性名 ; 決して null
      attributeValue - 属性値。null の場合があります
    • addFlashAttribute

      RedirectAttributes addFlashAttribute(ObjectSE attributeValue)
      generated name を使用して、指定されたフラッシュストレージを追加します。
      パラメーター:
      attributeValue - フラッシュ属性値。非 null
    • getFlashAttributes

      MapSE<StringSE,?> getFlashAttributes()
      フラッシュストレージの属性候補または空のマップを返します。