[Seasar-user:16748] Re: sastruts+mayaaでの2重サブミット実装について

Junichi Kato [E-MAIL ADDRESS DELETED]
2009年 1月 23日 (金) 16:51:08 JST


aaaさん、
加藤(j5ik2o)です。

以前やった方法ですが、以下のようにするとできた記憶があります。

余談ですが、だいたいのユースケースがエンティティの更新系だったりするの
で、トークンで防止しなくても、永続化層のフレームワークで楽観的排他制御を
かけることで事足りることが多いので、使わなくなってしまいましたw

実際やってみて試していただければと思います。

Actionで、

public HttpServletRequest request;

public ActionMessages validate() {
ActionMessages errors = new ActionMessages();
if (!TokenProcessor.getInstance().isTokenValid(request, true)) {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"errors.invalid", "Token"));
TokenProcessor.getInstance().saveToken(request);
}
return errors;
}

htmlファイルのほうで、

<form id="form">
<input type="hidden" id="token" name="org.apache.struts.taglib.html.TOKEN"/>

mayaaファイルのほうで、

<m:echo id="token">
<m:attribute name="value"
value="${session.getAttribute('org.apache.struts.action.TOKEN')}" />
</m:echo>



aaa aaa さんは書きました:
> mitsuokaです。いつもお世話になっております。
>  
> 別件で質問中ですが、もう1件SaStrutsにて質問があります。
> すみませんが、よろしくお願いします。
>  
> SaStrutsにて2重サブミットのサンプルを作成しようとしておりますが、
> Strutsにて提供されているTokenProcessorを使用しているのですが、
> RequestへTokenの乗せ方がわからず、2重サブミットチェックが動作しない状況です。
>  
> 参考にしたサイトとしては、以下を参考にはさしてもらっているのですが、
> さまざま調べてみてもそんなに実装が困難ではないようなきがするのですが・・・
>  
> http://ymotoba.blogspot.com/2008/09/sastruts.html
>  
> 構成は、sastrust + mayaaです。
>  
> すみませんが、よろしくお願いします。
>  
>
>  
> _________________________________________________________________
> 【無料】メッセで使える動画絵文字『ひとこと動画』を使おう【配信中】
> http://ch.nicovideo.jp/channel/ch168
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>   



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