ManagedProperty в CDI @Named bean возвращает null

Я пытаюсь разобраться с @ManagedProperty, но безуспешно!

Я следил за этимруководством, и это не кажется таким уж сложным. Но мой код просто не будет работать!

Вот небольшой фрагмент

@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 имеет значение null!

Есть предложения?

20
задан Matt Handy 19 April 2012 в 13:11
поделиться