[Seasar-user:10903] @Bindingアノテーション(コンポーネント名指定)時にエラーが発生しバインドできない

Shinichi Yanagisawa [E-MAIL ADDRESS DELETED]
2007年 10月 7日 (日) 19:41:49 JST


Seasar2.4.17, Teeda1.0.11を使用しています。

Actionクラスで、PageクラスをDI指定する際、プロパティ名をPageクラス名と別名とし、 

@BindingアノテーションのValue属性でPageクラス名を指定してバインドしようとしたが、
エラーが発生してしまいます。

(Pageクラス)
public class CatalogPage implements Serializable {
 private static final long serialVersionUID = 1L;
 private Integer itemId;
   :

(Actionクラス)
public class CatalogAction implements Serializable {
 private static final long serialVersionUID = 1L;
 @Binding(value="catalogPage", bindingType = BindingType.MUST)
 private CatalogPage page;

(エラー内容)
org.seasar.framework.beans.IllegalPropertyRuntimeException: [ESSR0059]クラス(shopping.web.catalog.CatalogAction$$EnhancedByS2AOP$$1092ac9)のプロパティ(page)の設定に失敗しました。理由はorg.seasar.framework.exception.OgnlRuntimeException: [ESSR0073]OGNLで例外が 
発生しました。理由は[ESSR0046]コンポーネント(catalogPage)が見つかりません
 at 
org.seasar.framework.container.assembler.AbstractBindingTypeDef.getValue(AbstractBindingTypeDef.java:260)
 at 
org.seasar.framework.container.assembler.AbstractBindingTypeDef.bindManual(AbstractBindingTypeDef.java:109)
 at 
org.seasar.framework.container.assembler.AbstractBindingTypeDef.bind(AbstractBindingTypeDef.java:87)
 at 
org.seasar.framework.container.assembler.AccessTypeFieldDef.bind(AccessTypeFieldDef.java:50)
 at 
org.seasar.framework.container.assembler.AccessTypeFieldDef.bind(AccessTypeFieldDef.java:42)
 at 
org.seasar.framework.container.assembler.AutoPropertyAssembler.assemble(AutoPropertyAssembler.java:55)
 at 
org.seasar.framework.container.deployer.RequestComponentDeployer.deploy(RequestComponentDeployer.java:67)
 at 
org.seasar.framework.container.impl.ComponentDefImpl.getComponent(ComponentDefImpl.java:111)
 at 
org.seasar.framework.container.impl.S2ContainerImpl.getComponent(S2ContainerImpl.java:129)

どなたかご教授下さい。 




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