我试图处理@ManagedProperty但没有成功!CDI中的ManagedProperty @Named bean返回null
我一直在关注this指南,它似乎并不难。 但我的代码根本行不通!
这里有一个小片段
@ManagedBean
@SessionScoped
public class LoginBean {
@EJB
private LoginUserLocal loginUser;
private boolean loggedIn = false;
private User user;
private StreamedContent image;
.
.
.
//--
@Named(value = "messagesBean")
@RequestScoped
public class MessagesBean {
@ManagedProperty(value = "#{loginBean}")
private LoginBean loginBean;
public LoginBean getLoginBean() {
return loginBean;
}
public void setLoginBean(LoginBean loginBean) {
this.loginBean = loginBean;
}
public String getUser() {
System.err.println(loginBean == null);
return loginBean.getUser().getUsername();
}
此代码给了我一个NullPointerException,说loginBean为空!
有什么建议吗?
不@EJB批注自动注入豆,或者你怎么注入他们LoginBean @ManagedBeans
javax.enterprise.context.SessionScoped
? – 2013-05-06 13:31:04