[Seasar-user:14052] Re: [Teeda] doOnceFinishでの二重サブミット防止の動きについて
西山はじめ
[E-MAIL ADDRESS DELETED]
2008年 5月 1日 (木) 19:12:54 JST
お世話になっております。西山です。
> そんなわけで (どんなわけで?),現状の仕様で
> お願いします.
了解いたしました。可能でしたら次バージョン(1.1系以降)で要望としてお願いしたいと思います。
DoubleSubmittedException が投げられた際、teedaErrorPage.dicon の設定でエラーページへ遷移することにします。
この際、元の画面に応じてメッセージを変えたい場合は エラーページにおいて、previousViewId を参照すればよろしいでしょうか?
(試している限りでは、previousViewId で判別できています)
もしくはどこかにAOPを仕掛けることで、処理できたりするでしょうか?
また、この件とは直接関係ないのですがStrutsのトークンみたいなものはTeedaにはありますでしょうか?
/subA(サブアプリケーションA)
A
B
C
/subB(サブアプリケーションB)
D
上のような画面があった際、A→B→Cと遷移後、レイアウトのメニューなどから、Dに遷移したとします。
その後、ブラウザの戻るボタンを押されるとB画面でPOST出来てしまうのですが、これを防ぎたいと思っております。
トークンを使用できれば実現できるのかなと思った次第です。
initializeでpreviousViewIdをチェックすれば出来なくはないですが、他に良い方法がないか模索中です。
以上、よろしくお願いいたします。
2008/05/01 18:00 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:
> 小林 (koichik) です.
>
> Date: Thu, 1 May 2008 16:12:57 +0900
> From: "西山はじめ" <[E-MAIL ADDRESS DELETED]>
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:14038] [Teeda] doOnceFinishでの二重サブミット防止の動きについて
>
>
> > https://www.seasar.org/issues/browse/TEEDA-393
> > これによりますと、doOnce〜の時の二重サブミット時の動作は、
> > 他画面への遷移では、リダイレクト先
> > 自画面への遷移では、DoubleSubmittedException
> > と、ありますが、
> >
> > doOnceFinsh〜での動作は、どちらも
> > DoubleSubmittedException が投げられるようになっているようです。
> >
> > doOnceFinish〜の場合でもdoOnce〜時と同じ動作にしていただけないでしょうか。
>
> 難しいですね.
> doOnce〜() の場合,トランザクショントークンを
> SubapplicationScope で管理します.
> 一方,do〜Finish() では SubapplicationScope を
> クリアしてしまいます.
> そのため,doOnce〜Finish() ではトランザクション
> トークンが無効であることしか判別できません.
>
> トランザクショントークンの管理を Subapplication
> Scope から分離するなどすれば対応が不可能では
> ありませんが,これまでも問題が多く発生していた
> 箇所なので,大きく手を加えることは避けたい
> ところです.
>
> そんなわけで (どんなわけで?),現状の仕様で
> お願いします.
>
>
> --
> <component name="koichik">
> <property name="fullName">"Koichi Kobayashi"</property>
> <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
> <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> </component>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内