8

別のマネージド Bean でセッション スコープの Bean データを取得しようとしています。私がやっていると、値がnullになり、java.lang.NullPointerExceptionエラーが発生します。私はJSFを初めて使用するので、簡単なことを見逃している可能性があることに注意してください。

これがSessionScoped Beanです

    @ManagedBean
    @SessionScoped

    public class UserSessionBean {
      private superProcessId;

      //getter setter and other code
    }

これが、このデータを取得しようとしているマネージド 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());
  }
}
4

1 に答える 1

11

ではあなたの価値は良くありません@ManagedProperty。使用する:

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

Bean のデフォルト名は、クラス名の最初の文字を小さくしたものと同じです。また、管理プロパティがセッション以下 (ビュー、リクエスト) である Bean のスコープも必要です。

于 2013-03-07T12:27:54.107 に答える