[Seasar-user:17799] Re: [SAStruts]インターセプター(Interceptor)中でのセッション(HttpSession)の取得方法について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2009年 6月 20日 (土) 01:30:01 JST


小林 (koichik) です.

Date:    19 Jun 2009 20:44:45 +0900
From:    [E-MAIL ADDRESS DELETED]
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:17797] [SAStruts]インターセプター(Interceptor)中でのセッション(HttpSession)の取得方法について

> MLの中から以下の実装が数件見つかり、動作も確認できているのですが、
> これは正しい取得方法なのでしょうか。
> 
> public class LoginCheckInterceptor extends AbstractInterceptor {
> 	public Object invoke(MethodInvocation invocation) throws Throwable {
> 		HttpSession session =
> 		(HttpSession)SingletonS2ContainerFactory.getContainer().
> 		getExternalContext().getSession();

それでも構いません.
あるいは,

public class LoginCheckInterceptor extends AbstractInterceptor {
  public HttpSession session;

  public Object invoke(MethodInvocation invocation) throws Throwable {
    ...
  }
}

と public プロパティを用意して,customizer.dicon を

http://www.seasar.org/wiki/index.php?FAQ%2FS2AOP#q69751d4

にあるように設定する方法でも大丈夫です.
この場合,自分で HttpSession を取りに行く必要は
ありません.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



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