私は次のシーケンスを持っています。
View1(POSTフォーム)-> PostController(モデルの作成とリダイレクト)-> GetController-> View2
私はRedirectAttributesを使用してPostControllerとGetControllerの間でモデルを渡します。
クラスPostController{
public String mypost(...、final RedirectAttributes redirectAttrs){
//モデルを作成します
redirectAttrs.addFlashAttribute( "model"、model);
"redirect:myget"を返します;
}
}
と
@SessionAttributes( "model")
クラスGetController{
public ModelAndView myget(@ModelAttribute( "model")final Model model){
ModelAndView mav = new ModelAndView( "view2");
mav.addObject( "model"、model);
mavを返す;
}
}
ユーザーがブラウザで複数のタブを開いてから前のタブを更新すると、後者の開いたタブで上書きされます。
各タブを独立させたいのですが、誰かが私を正しい方向に向けてくれることを願っています。
ありがとう。
編集
問題は@SessionAttributes( "model")にあります。「Flash属性はリダイレクト前に一時的に保存され(通常はセッション内)、リダイレクト後にリクエストで使用できるようになり、すぐに削除されるためです。」したがって、セッション中のモデルが更新されるため、タブは互いに上書きされます。