2011-01-19 13 views
1

のFacelets内の各EL式のために同じクラスの新しいインスタンスを作成しますデバッガを使ってこの動作に気づいた)。このようにして、Login.check()メソッドでユーザー名とパスワードを使用することはできません。これらはどちらもnullです。JSFは、私は、Webアプリケーションプロジェクトでは、ログインページを持っている

さらに私はもう少し複雑なプロジェクトをテストしましたが、これまでに作成したプロジェクトはうまくいきます。インスタンスは1つしか作成されません。私はどこが間違っているのか分かりません。

答えて

3

ログインビーンのマネージドBeanの設定(クラスのアノテーションまたはfaces-config.xml)、具体的にはそのスコープを見てください。 「none」のスコープは、あなたが観察している効果とまったく同じです。適切な範囲は、おそらく "要求"でしょう。

+0

もちろん、Loginクラスは@RequestScopedで、@SessionScopedも試みましたが、3つのインスタンスは作成されていません。 – Alf

+0

@Alf:faces-config.xmlも見たことがありますか?私はそこにどのような設定も注釈を上書きすると思います。そうでない場合は、コンストラクタを作成してブレークポイントを設定することで、JSF実装のソースコードに目を通したい場合は、問題の追跡に役立ちます。 –

+0

私は考え出した!私はjavax.faces.bean.RequestScopedを使用しました。 javax.enterprise.context.RequestScopedを使用すると動作します!インポートは自動的にnetbeansによって追加されました。なぜこのあいまいさ? – Alf

関連する問題