在另一个ManagedBean中获取Session Scoped Bean数据

时间:2013-03-07 11:52:07

标签: jsf-2

我正在尝试在另一个Managed bean中获取会话范围的bean数据。当我这样做时,该值将变为null并给出java.lang.NullPointerException错误。我是JSF的新手,所以请记住,我可能会遗漏简单的事情。

这是SessionScoped Bean

    @ManagedBean
    @SessionScoped

    public class UserSessionBean {
      private superProcessId;

      //getter setter and other code
    }

以下是我试图获取此数据的Managed Bean

@ManagedBean
public class AddProcessBean {
  @ManagedProperty(value="#{UserSessionBean}")
  private UserSessionBean sessionData;

  //Getter Setter for sessionData
  public UserSessionBean getSessionData() {
    return sessionData;
  }

  public void setSessionData(UserSessionBean sessionData) {
    this.sessionData = sessionData;
  }

  public void addAction() {
    System.out.println(getSessionData().getSuperProcessId());
  }
}

1 个答案:

答案 0 :(得分:11)

@ManagedProperty你的价值不高。使用:

@ManagedProperty(value="#{userSessionBean}")

bean的默认名称与第一个字母较低的类名相同。此托管属性的bean的范围也应该是session或更低(view,request)。

相关问题