[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 メーリングリストの案内