[mayaa-user:10] Re: mayaのdtdファイル

suga ko.suga @ gmail.com
2005年 11月 18日 (金) 18:54:49 JST


suga です。

05/11/18 に 小野 心<shin @ hotcore.jp> さんは書きました:

> <components namespace="aaa" >
>  <component instance="request" name="Login" class="bbb.ccc.Login"/>
> </components>
>
> と*.diconで定義した場合に、aaa.Loginを取得したい場合は、どの様
> な書き方に成るのでしょうか?

s2.Login で取得できます。

S2Scope の実装を見ていただければわかりますが、内部的には getComponent
ですので S2 の動作と同じです。
(SingletonS2ContainerFactory.getContainer() で S2Container を取得しています)

たとえば s2.aaa とすれば namespace="aaa" の S2Container を指すことに
なりますので、s2.aaa.getComponent('Login') で取得することもできます。

もっと冗長に書くと
  s2.getAttribute('aaa').getComponent('Login')
ですね。
S2Scope は Scope であって S2Container ではありませんので getComponent
ではなく getAttribute になりますが、それより後は同じです。



> あと、希望なのですが、*.mayaaの
>
> <m:mayaa xmlns:m="http://mayaa.seasar.org"/>
>
> の記述を、
>
> <m:mayaa xmlns:m="http://mayaa.seasar.org" s2="aaa.Login"/>
>
> 的な書き方で、S2Containerとの連携を行えると、嬉しいです。

すみません、意図がわかりません。
この例はどういう結果を期待しているのでしょうか。

--
suga ( ko.suga @ gmail.com )


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