[Seasar-user:2869] Re: [S2JSF] m:immediate の動作について

松山 大樹 t.matsuyama
2005年 11月 18日 (金) 09:54:13 JST


 松山です。

>これだと Action や Dto だけでなく,Logic もリクエストスコープに
>なってしまいますね.
>実害はないかもしれませんが,
>
>	<component 
>class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister">
>		<property 
>name="instanceDef">@[E-MAIL ADDRESS DELETED]</property>
>    	<initMethod name="addClassPattern">
>        	<arg>"examples.jsf"</arg>
>        	<arg>".*Dto,.*ActionImpl"</arg>
>	    </initMethod>
>	</component>
>	<component 
>class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister">
>    	<initMethod name="addClassPattern">
>        	<arg>"examples.jsf"</arg>
>        	<arg>".*LogicImpl"</arg>
>	    </initMethod>
>	</component>
>
>とした方がよいのではないかと.

 確かにそのとおりですね。
 ただ、s2jsf-example の、Add は、Dto、Action、Logic が分かれているので
これで問題ないのですが、Action と Logic が、1つになっている場合、request
に入れておかないと、コンテキストの起動時に、

[ESSR0007]requestはnullあるいは空であってはいけません

 となってしまうので。
 [Seasar-user:2858] で添付した、s2jsf-test の、test.dicon を、

<components>
	<component class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister">
		<property name="instanceDef">@[E-MAIL ADDRESS DELETED]</property>
    	<initMethod name="addClassPattern">
        	<arg>"test"</arg>
        	<arg>".*Form,.*DTO"</arg>
	    </initMethod>
	   	<initMethod name="registAll"/>
	</component>
	<component class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister">
    	<initMethod name="addClassPattern">
        	<arg>"test"</arg>
        	<arg>".*Bean,.*Impl"</arg>
	    </initMethod>
	   	<initMethod name="registAll"/>
	</component>
</components>

 と変更すると、この現象が確認できます。
 Action とLogic を分けるべきかどうか、はとりあえず置いておいて、ということですが。

-- 
::: 株式会社ワウワウ・コミュニケーションズ http://www.wowcom.co.jp/
:::   ITシステム・インテグレートDiv.
:::  Web・マーケティング&コマンドセンターUnit.
:::   松山 大樹 - [E-MAIL ADDRESS DELETED]




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