私は次のシーケンスを持っています。
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属性はリダイレクト前に一時的に保存され(通常はセッション内)、リダイレクト後にリクエストで使用できるようになり、すぐに削除されるためです。」したがって、セッション中のモデルが更新されるため、タブは互いに上書きされます。