[Seasar-user:15522] [S2Struts] S2Struts1.3.0-RC6からActionへのforwardでエラー

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2008年 8月 26日 (火) 15:09:53 JST


大屋と申します。

お世話になっております。
S2Struts1.3.xにて、一度s2submitタグで該当画面のActionを呼び、
そのAction内で次画面のActionにforwardするよう指示して画面の遷移を行おうと
していますが、
forward時に再帰が原因と思われるStackOverflowErrorが発生します。

Actionないでは、アノテーションを用いて

@StrutsActionForward(path="/xxx.do")
public static final SUCCESS = "success";

もしくは、

@StrutsActionForward
public static final SUCCESS = "/xxx.do";

のように、指示しています。
1.3.0-RC1では動作したのですが、1.3.0-RC6、および1.3.0にバージョンアップし
た環境では両方の記述方法で、エラーが発生します。
Actionではなく、jspの指定では問題なく動作致します。

テスト環境は

Windows XP SP2
JDK:              1.5.10
Tomcat:         5.5.17
S2Container:  2.4.17, 2.4.25, 2.4.26
S2Struts:       1.3.0-RC1, 1.3.0-RC6, 1.3.0

となります。
設定など確認すべき点がございましたらご教示いただけないでしょうか。

以下スタックトレースの抜粋です。

[2008-08-26 10:49:02.899][085-Processor24][WARN ]Exception from 
exceptionCommand 'servlet-exception'
javax.servlet.ServletException: サーブレットの実行により例外を投げました
        at 
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
        at 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
        at 
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
        at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
        at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
        at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
        at 
org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:113)
        at 
org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96)
        at 
org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54)
        at 
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
        at 
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
        at 
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
        at 
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
        at 
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
        at 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
        at 
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at 
org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
        at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
        at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
        at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
        at 
org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:113)
        at 
org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:96)
        at 
org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:54)
        at 
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
        at 
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
        at 
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
        at 
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
        at 
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
        at 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
        at 
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    (以下繰り返し)

[2008-08-26 10:49:15.587][085-Processor24][ERROR]サーブレット action の
Servlet.service()が例外を投げました
java.lang.StackOverflowError
        at 
javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)
        at 
org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544)
        at 
javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)
        at 
org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544)
        at 
javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)
        at 
org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544)
        at 
javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)
        at 
org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544)
        at 
javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)
        at 
org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544)
        at 
javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)
        at 
org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544)
        at 
javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)
        at 
org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:544)
    (以下繰り返し)


よろしくお願いいたします。

-- 
大屋 茂士将



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