0

我知道关于这个确切问题有很多关于 SO 的问题,但我找不到解决我的问题的方法。我正在尝试@ManagedProperty在 JSF 2 中使用 a。我使用了此页面中的示例,但我的不起作用:

@ManagedProperty("#{userSession}")
private UserSession userSession;
public void setUserSession(UserSession userSession) {
    this.userSession = userSession;
}

父 bean 和注入的 bean 都是会话范围的。两个 bean 都具有该@ManagedBean属性。没有 faces-config.xml 声明,没有 EJB,没有使用 Spring。我从该示例中注意到的一件事是这两个 bean 类都实现了Serializable. 我的没有,我不确定这是否有所作为。

当我使用此代码时,NullPointerException当我尝试对userSession. 但是,我知道会话存在,因为当我使用 @BalusC 的findBean便捷方法时,它可以工作。不过,有一件事是,我的代码只有userSession = findBean("userSession")在我在“做事”的同一方法中调用时才有效。userSession如果我在 bean 的构造函数中初始化,我会得到另一个 NPE。有任何想法吗?

4

0 回答 0