[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 メーリングリストの案内