我試圖處理@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