[Seasar-user:14060] Re: [Teeda] doOnceFinishでの二重サブミット防止の動きについて

西山はじめ [E-MAIL ADDRESS DELETED]
2008年 5月 1日 (木) 21:29:17 JST


お世話になっております。西山です。

>  > exampleのdownload/csvdownload.htmlに、doOnceHogeメソッドと、inputを追加。
>  >
>  > 1.doDownloadでCSVファイルをダウンロード。
>  > 2.doOnceHogeボタンをクリック ← この段階で、DoubleSubmittedException が投げられます。
>
>  それが仕様通りですね.
>  doDownload もフォームをサブミットしているので,
>  その時点でトランザクショントークンはリセット
>  されます.
>  その後で doOnceHoge をクリックしても,すでに
>  トークンは無効であり,前にサブミットされたのは
>  doOnceHoge ではないため再表示することもできないので
>  例外になります.

了解いたしました。

>  doDownload と doOnceHoge の <form> を分けられるなら,
>  doDownload の <form> に
>
>  <input type="hidden" name="newwindow" value="true" />
>
>  を追加することで対応できるかもしれません.
>  # 試していませんが.

試してみました。
formを分けて、newwindowを追加することで大丈夫みたいです。

>  こういう話になってくると,Seam の Conversation
>  Scope っぽいのがあるといいのかもしれませんね.

確かにあると便利ですが、スコープの種類が増えすぎて仕様が複雑になりすぎるような気がします。
(サブアプリケーションを横断するスコープがほしいと思ったこともありますが)

ともあれ、いろいろとありがとうございました。
これからもTeedaは使わせていただきたいと思っておりますので、よろしくお願いいたします。


Seasar-user メーリングリストの案内