将实体注入到ViewScoped Bean中
|
我是CDI的新手,并且想将其用于JSF2应用程序。类“ 0”是一个简单的“ 1” -Bean,并在bean中的“ 2”方法中创建了一个对象:
@Stateful
@Named @javax.faces.bean.SessionScoped
public class UserBean implements Serializable
{
@Named
private MyUser user;
//setter and getter
//@PostConstruct
}
在JSF页面中访问用户就像一个魅力:charm4ѭ。但是现在我想从其他bean访问此对象,例如在这@ViewScopedBean
中:
@Named @javax.faces.bean.ViewScoped
public class TestBean implements Serializable
{
@Inject private MyUser user;
}
我希望当前的(已登录)ѭ7可以在其他几个bean中使用,但是我不确定如何执行此操作。只是@Inject
它是行不通的(我很确定这将是一点点简单)。
13:56:22,371 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController]
Error installing to Start: name=vfs:///Applications/Development/
jboss-6.0.0.Final/server/default/deploy/test.ear_WeldBootstrapBean state=Create:
org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied
dependencies for type [MyUser] with qualifiers [@Default] at injection
point [[field] @Inject private test.controller.mbean.TestBean.user]
从其他bean访问ѭ10的最佳方法是什么?像UserBean bean = (UserBean)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get(\"UserBean\");
这样的JSF1.2样式代码似乎是过时的!
没有找到相关结果
已邀请:
3 个回复
抵浮细
这样的限定词)使用户在您的应用程序中可用 像这样注入用户:
这就是CDI方式;-)
勘掸府迫路
惭法搽
,
,
,
和
。前三个是CDI唯一允许的JSF范围。 如果您需要支持
注释,则需要自己编写。幸运的是,以前有人这样做过。