[Seasar-user:4296] Re: [S2Struts]MethodInvocation からのrequest、responseの取得に関して
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2006年 8月 8日 (火) 21:21:31 JST
小林 (koichik) です.
Date: Tue, 8 Aug 2006 17:18:08 +0900
From: [E-MAIL ADDRESS DELETED]
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:4293] [S2Struts]MethodInvocation からのrequest、responseの取得に関して
> ActionはPOJOで作成しております。
> これを実現させるためには、InterceptorクラスのhandleThrowable()メソッド内で
> 、
> forwardをする必要があると思います。このため、MethodInvocationクラスの
> インスタンスからgetArguments()メソッドでrequestとresponseを取得しようと
> しているのですが、情報が入っておらずうまく取得できません。
getArguments() で取得できるのは,AOP が適用されたメソッドの
引数です.
POJO アクションということは,アクションのメソッド引数に
request も response もありませんよね?
そうであれば,getArguments() からは request も response も
取得できません.
> MethodInvocationクラスがどのようなものが理解していないのですが、
> MethodInvocationクラスには情報をセットする必要があるのでしょうか?
> またそれはどのように行えば宜しいでしょうか?
作成した Interceptor クラスに request と response を
プロパティとして持たせてください.
そして
http://www.seasar.org/wiki/index.php?FAQ%2FS2AOP#z685b23f
の Answer に書いてあるように,作成した Interceptor に
InterceptorLifecycleAdapter を適用してください.
その際,作成した Interceptor の instance 属性は prototype に
してください.
こうすることで,作成した Interceptor の invoke() メソッドが
呼ばれたときに request および response プロパティが設定されて
いると思います.
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>
Seasar-user メーリングリストの案内