リダイレクト先でメッセージを表示させたかったが少し手こずったので学習記録用記事
###リダイレクトで遷移先に値を渡す
値を渡す側のコントローラー👇
Controller.java
@RequestMapping(value="/create", method=RequestMethod.POST)
public String create(RedirectAttributes redirectAttributes){
redirectAttributes.addFlashAttribute("message","リダイレクト先に表示したいメッセージ")
return "redirect:/index"
}
値を受け取る側のコントローラー👇
Controller.java
@GetMapping("/index")
public String getIndex(@ModelAttribute("message") String message,Model model){
model.addAttribute("message",message);
return "/index";
}
**addFlashAttribute()**は、
実際には属性をフラッシュマップに格納
**addFlashAttribute()**のの利点は、フラッシュ属性にほとんどすべてのオブジェクトを格納できること
**addAttribute()**は
基本的に、からリクエストパラメータを構築
属性とリクエストで目的のページにリダイレクト
**addAttribute()**を使用すると、追加したオブジェクトが取得される。通常のリクエストパラメータに変換すると、Stringやプリミティブなどのオブジェクトタイプにかなり制限される。