0

プロフィール ページで からgetStatusList()3 回目に電話をかけると、 から が返ってくるという問題があります。は から User オブジェクトを取得できないと思います。見逃しているものはありますか。誰かが私の間違いを指摘してくれたら幸いです。Lazy loaderuser1.getEmail()nullpointer exceptionuser1frienddet

public List<Status> getStatusList() {
        EntityManager em;
        EntityManagerFactory emf = Persistence
                .createEntityManagerFactory("FreeBird");
        em = emf.createEntityManager();

        FacesContext context = FacesContext.getCurrentInstance();
        HttpSession session = (HttpSession) context.getExternalContext().getSession(true);
        User user1 = (User) session.getAttribute("frienddet");
            System.out.println(user1.getEmail());
        // some codes


    }

編集

frienddetを数回呼び出した後、セッションから削除されていることがわかりましgetStatusList()たが、なぜそれが起こっているのかわかりません。コードを使用してセッションから属性を削除していません。

4

1 に答える 1

1

初期化されていないため、呼び出しsession.getAttribute("frienddet")は null を返し"frienddet"ています (私の推測では、null に初期化される可能性があります)。

コードを見ると、実際にはエンティティマネージャーを使用していません (これは、以下の省略されたコードにあると思います)。そのため、セッションのどこ"frienddet"に配置されているかを調べて、そこで null になっている理由を見つける必要があります。デバッガーにジャンプすると (これは本当にお勧めです)、セッション オブジェクトにキーと値のペアがないか、null へのキーがないことがわかります。

于 2013-07-13T14:27:54.783 に答える