[Seasar-user:5702] Re: [Teeda] struts のRequestProcesserにあたるもののあたりにInterceptorをかけるには?
swaaaky
[E-MAIL ADDRESS DELETED]
2007年 1月 10日 (水) 23:40:02 JST
沢村と申します。
私ならServretFilterでrequest.setAttribute("mobileUid"); すると思いますが、
そのほかの方法だと、JSFのPhaseListenerを使用するくらいでしょうか。
後はコンストラクターでmobileUidを取得するDtoを作成し、ページクラスにDI
してもいいかもしれません。
----- Original Message -----
From: Mitsutaka Sato
To: [E-MAIL ADDRESS DELETED]
Sent: Tuesday, January 09, 2007 11:11 PM
Subject: [Seasar-user:5694] Re:[Teeda] struts のRequestProcesserにあたるもののあたりにInterceptorをかけるには?
佐藤です。ご回答ありがとうございます。
すみません、説明不足だったんでもう一度。
HogePageとFugaPageがあったとして、
そのプロパティ String mobileUid; に値を自動セットしたいと考えていまして、
mobileUidは InterceptorでHttpRequestのHeaderを取得して
Pageクラスにセットすることを検討しています。
このとき、PageクラスにInterceptorをかけるやり方だと、
まず、setMobileUidメソッドを持つInterfaceを定義し、
HogePageとFugaPageがそのInterfaceをImplementするように定義し、
Interceptorで、((ThisInterface)invocation.getThis()).setMobileUid
という形で実行してやればよいのかなあと思うのですが、
ちょっと面倒だなあと。
そこでPageクラスが実行される前段階のどこかにInterceptorをしかけて、
Interceptor内では、 request.setAttribute("mobileUid"); としておけば、
ContainerがPageクラスを実行するときにRequestAttributeから自動セットしてくれる
のでHappyだなあと思っていたわけです。
# PageクラスへのInterceptorだと、Interceptorが実行される前に既にRequestAttributeからの自動セットが実行されてしまっている。
上記の方法でも全然問題ないとは思っているのですが、もっとsmartな方法が
あるようでしたらご教授いただければ幸いです。
On 1/9/07, Yasuo Higa <[E-MAIL ADDRESS DELETED] > wrote:
ひがです。
> 佐藤と申します。
> いつもTeedaの質問をさせていただいており、お世話になっております。
>
じゃんじゃんどうぞ。
> どうしてもstruts(s2struts)ベースで物事を考えてしまうのですが、
> 昔ServletFilterでやっていたような処理を、s2struts時代には RequestProcesserに
>
> Interceptorをかけて実行していました。
>
> # 例えば、UserAgentを見て、キャリア判別して、その値をRequestAttributeにセット、、といった処理です。
>
> TeedaではRequestProcesserにあたる部分がどこになるのか、不勉強で理解できていないのですが
> そのあたりにInterceptorをかけるやり方が可能でしょうか?
>
PageにInterceptorをかけるとよいのではないかと思います。
> また、これも初歩的な質問になってしまいますが、
> RequestAttributeの値はPageクラスやActionクラスに自動セットされるのでしょうか?(s2strutsのように)
>
はい。
Yasuo Higa
The Seasar Project
_______________________________________________
Seasar-user mailing list
[E-MAIL ADDRESS DELETED]
https://ml.seasar.org/mailman/listinfo/seasar-user
_______________________________________________
Seasar-user mailing list
[E-MAIL ADDRESS DELETED]
https://ml.seasar.org/mailman/listinfo/seasar-user
Seasar-user メーリングリストの案内