为什么`@In(create = true)`不能在Seam中创建对象?

Hos*_*Aly 1 java jboss seam java-ee

我有一段非常简单的代码,如:

@In(create = true) OutletHome outletHome;
Run Code Online (Sandbox Code Playgroud)

它工作正常(使用Seam 2.2.0.GA),并且正在创建和注入对象而没有任何问题.但当我尝试将其更改为:

@In(create = true) OutletHome deactivationOutletHome;
Run Code Online (Sandbox Code Playgroud)

它突然停止工作,导致异常:

org.jboss.seam.RequiredException:@In属性需要非null值:customerHome.deactivationOutletHome

造成这种问题的原因是什么?变量名如何相关?我怎么能解决它?

cet*_*nar 5

尝试,


@In(create = true, value="outletHome")
OutletHome deactivationOutletHome;
Run Code Online (Sandbox Code Playgroud)

您注入的值必须是接缝组件.当遗漏属性"值"时,假设等于注入的字段名称.

其他访问接缝组件的方法是:


@In(value="componentName", create = true)
@In("#{componentName}")
Run Code Online (Sandbox Code Playgroud)