[Seasar-user:12967] Re: S2Struts(1.2.10)のアクション自動登録について

Masayuki Ioki [E-MAIL ADDRESS DELETED]
2008年 2月 20日 (水) 11:36:17 JST


中村(taedium)様

お世話になっております。
伊尾木です。

>このとき、1つの(具象クラスの)Actionに対してどちらかの
>一方のみの情報が使われるのですが、情報元になってほしくない
>クラスが使われると意図しない挙動になります。
>(どちらが使われるかの規則性はありません。)

なるほど、インターフェースが使用されて欲しいところに抽象クラスが使用されて
いたということですね。

名前を変更するか、ご指摘いただいた命名規則で規約から外すかの方法を取りたい
と思います。

まことにありがとうございました。

よろしくお願いします。




Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]> 
Sent by: [E-MAIL ADDRESS DELETED]
2008/02/20 00:45
Please respond to
[E-MAIL ADDRESS DELETED]


To
[E-MAIL ADDRESS DELETED]
cc

Subject
[Seasar-user:12964] Re: S2Struts(1.2.10)のアクション自動登録について






中村(taedium)です。

> >AutoStrutsConfigRegisterPlugInの設定はどのようになっているか
> >教えていただけないでしょうか?
> 
> 以下のようになっています。
> 
>     <plug-in className=
> "org.seasar.struts.plugin.AutoStrutsConfigRegisterPlugIn">
>         <set-property property="enableJar" value="false"/>
>         <!-- 
>         <set-property property="docRoot" value="/WEB-INF/jsp"/>
>         -->
>         <set-property property="viewExtension" value="jsp,html,view"/>
>     </plug-in>

無設定Strutsでは、デフォルトで名前が「Action」で終わるクラスを
使って設定情報を組み立てます。
http://s2struts.seasar.org/ja/s2struts.html#ZeroConfigReference

インタフェースも抽象クラスも「Action」で終わっているということです
ので、この場合は、両方が設定情報の組み立て元になりえます。
このとき、1つの(具象クラスの)Actionに対してどちらかの
一方のみの情報が使われるのですが、情報元になってほしくない
クラスが使われると意図しない挙動になります。
(どちらが使われるかの規則性はありません。)

もし、抽象クラスが必ずAbstractで始まるといった命名規則を持つならば
AutoStrutsConfigRegisterPlugInのactionClassPatternプロパティに
抽象クラスを除く正規表現を設定するのがいいと思います。
(インタフェースをIではじめるとかの規約でもいいかもしれません)

ただし、S2Strut1.2.10以前では、この機能が有効に働かない
場合があるので気をつけてください。
https://www.seasar.org/issues/browse/STRUTS-55

-- 
Toshihiro Nakamura

_______________________________________________
Seasar-user mailing list
[E-MAIL ADDRESS DELETED]
https://ml.seasar.org/mailman/listinfo/seasar-user

-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20080220/83805098/attachment-0001.html 


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