[Seasar-user:17041] [SAStruts]エラーページにActionを指定した時にresponseがDIされない

Tadashi Nagashima [E-MAIL ADDRESS DELETED]
2009年 3月 10日 (火) 11:48:47 JST


お世話になります。
長島と申します。

Actionでエラー処理を行った後に、エラー画面を表示したいのですが、
responseがDIされずにnullになっています。

再現方法は下記の通りです。

sa-struts1.0.4-sp4のチュートリアル内のweb.xmlには下記の様にerror-pageを追記しました。

    <error-page>
        <error-code>404</error-code>
        <location>/error.do</location>
    </error-page>
    <error-page>
        <exception-type>java.lang.Exception</exception-type>
        <location>/error.do</location>
    </error-page>

Actionは下記の様にしました。

package tutorial.action;
public class ErrorAction {

    @Resource
    protected HttpServletResponse response;

    @Execute(validator = false)
    public String index() {
        System.out.println(response);

System.out.println(SingletonS2ContainerFactory.getContainer().getComponent(HttpServletResponse.class));
        return "error.jsp";
    }
}

error.jspはnorole.jspをコピーしただけのものです。

この状態で存在しないURLにアクセスしてみたところ、
Actionに処理は来るのですが、responseがnullのままです。
requestはDIされることを確認しました。

上記のように一度Actionに飛びresponseを触る事は可能でしょうか。
何か設定方法などありましたら、ご教授願います。

【環境】
sa-struts1.0.4-sp4
tomcat 6.0.18
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20090310/b1682833/attachment-0001.html>


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