[Seasar-user:19660] Re: [SAStruts] RequestProcessor#processRoles 内で Action クラスのアノテーションを取得できない

ICHIMURA [E-MAIL ADDRESS DELETED]
2010年 4月 26日 (月) 11:26:45 JST


竹添様

お世話になります。いちむらです。

下記、試してみましたところうまく動作することが確認できました。
アドバイス頂きありがとうございました!


2010年4月25日22:00 Naoki Takezoe <[E-MAIL ADDRESS DELETED]>:
> いちむらさま
>
> 竹添です。
>
> Seasar2徹底入門のお買い上げありがとうございます。
>
> RequestProcessor内でアクションクラスからのアノテーションの
> 取得ですが、以下のような感じでいかがでしょうか?
>
> Auth auth = executeConfig.getMethod().getDeclaringClass().getAnnotation(Auth.class);
>
> 2010年4月23日19:20 ICHIMURA <[E-MAIL ADDRESS DELETED]>:
>> お世話になります。いちむらです。
>>
>> 「Seasar 2 徹底入門 SAStruts/S2JDBC 対応」という本の
>> 6章 SAStruts応用編で「6.5.2 アプリケーションで認証」という部分を試しています。
>>
>> ここで、S2RequestProcessorを継承したクラスのprocessRolesメソッド内で、
>>
>> S2ExecuteConfig config = S2ExecuteConfigUtil.getExecuteConfig();
>> Annotation[] annotations = config.getMethod().getAnnotations();
>>
>> というソースが記載されているのですが、これではActionクラスのメソッドにつけたア
>> ノテーションしか
>> 取得できないようです。
>>
>> 以下のアノテーションを
>> -------------------------------------------------
>> @Retention(RetentionPolicy.RUNTIME)
>> @Target(ElementType.TYPE)
>> @Documented
>> public @interface Auth {
>> }
>> -------------------------------------------------
>>
>> Actionクラスに以下のようにつけたとき、
>> -------------------------------------------------
>> @Auth
>> public class DeptAction {
>> }
>> -------------------------------------------------
>>
>> RequestProcessor内でこのアノテーションを取得するには
>> どのようにすればよいでしょうか?
>>
>> よろしくお願いします。
>>
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>
>
>
> --
> Naoki Takezoe
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


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