web-dev-qa-db-ja.com

Spring MVCでリダイレクト後にコントローラからパラメータを渡す方法は何ですか?

私のコントローラーメソッドで書く場合:

return  "redirect:url";

Urlに渡すパラメーター(コントローラーメソッドまたはjspページ)

20
gstackoverflow

RedirectAttributesを使用すると、ほとんどすべてのデータをリダイレクトURLに渡すことができます。

@RequestMapping(value="/someURL", method=GET)
public String yourMethod(RedirectAttributes redirectAttributes)
{
   ...
   redirectAttributes.addAttribute("rd", "rdValue");
   redirectAttributes.addFlashAttribute("fa", faValue);
   return "redirect:/someOtherURL";
}

addAttributeを使用して属性を追加すると、ターゲットのリダイレクトURLになります。これらの属性はリクエストパラメータの作成に使用され、クライアント(ブラウザ)は新しいリクエストをredirect URLこれらのパラメーター。これにより、文字列またはプリミティブをリダイレクト属性として使用することに制限されます。

addFlashAttributeを使用すると、これらの属性はリダイレクトの前(通常はセッション内)に一時的に保存され、リダイレクト後のリクエストで使用でき、すぐに削除されます。 flashAttributesを使用する利点は、オブジェクトをフラッシュ属性として追加できることです(セッションに保存されるため)。

49
Debojit Saikia