[Seasar-user:11122] ボタンを1回押したら「二重サブミットされました」

Junichi Kato [E-MAIL ADDRESS DELETED]
2007年 10月 18日 (木) 23:45:05 JST


加藤です.

えっと,今度は以下のような例外に見舞われております.

サブアプリケーション内での遷移なのですが,
doOnceConfirmを1回だけ押すと例外が発生します.

ソースを追っかけますと,getPreviousTokenが,nullを返している.
subAppScopeがnullになっていますがこの状況は何が原因と考えられるでしょう
か?

ちなみに,HTMLには複数のフォームがあって,各フォームの中には複数のdoOnce
メソッドがあります.

    protected static String getPreviousToken(final FacesContext context)
{
        final Map subAppScope = SubApplicationScope.getContext(context);
        if (subAppScope == null) {
            return null;
        }
        return (String) subAppScope.get(PREVIOUS_TOKEN);
    }

DEBUG 2007-10-18 23:36:14,839 [http-8080-Processor22] [ETDA0109]二重サブミットされました。 (/view/account/accountArtistMusicEditAlbumTrack.html ページの doOnceConfirm)
org.seasar.teeda.extension.exception.DoubleSubmittedException: [ETDA0109]二重サブミットされました。 (/view/account/accountArtistMusicEditAlbumTrack.html ページの doOnceConfirm)
	at org.seasar.teeda.extension.component.html.THtmlCommandButton.isDoubleSubmitted(THtmlCommandButton.java:73)
	at org.seasar.teeda.extension.component.html.THtmlCommandButton.broadcast(THtmlCommandButton.java:58)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:192)
	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:117)
	at org.seasar.teeda.core.lifecycle.impl.InvokeApplicationPhase.executePhase(InvokeApplicationPhase.java:29)
	at org.seasar.teeda.core.lifecycle.AbstractPhase.execute(AbstractPhase.java:57)
	at org.seasar.teeda.core.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:97)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:94)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Unknown Source)
DEBUG 2007-10-18 23:36:14,849 [http-8080-Processor22] HOT deployを終了しました


───────────────────────────────
 株式会社 グランテック
 代表取締役社長
 加藤 潤一 Junichi Kato

〒154-0012
東京都世田谷区駒沢2-16-1 サンドー駒沢ビル4F
TEL 050-5538-2383  FAX 03-3487-7211
HP : http://www.grandtech.jp/
BLOG : http://d.hatena.ne.jp/j5ik2o/
E-MAIL : [E-MAIL ADDRESS DELETED]




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