2011-07-05 44 views
2

現在、JBoss 4.2.2からJBoss 6.0.0にプロジェクトを移行しています。また、CDIでDependency Injectionを追加し、JSF 1.2からJSF 2.0に移行しています。 beans.xmlファイルをejb-packageとwar-packageの両方に追加しました。@ManagedBeanとは異なる@Namedの動作

ここではマネージドBean LoginBean.javaを使用するxhtmlページがあります。豆は、このような顔-config.xmlで構成されていた。だから

<managed-bean> 
    <description>Sample description</description> 
    <managed-bean-name>loginBean</managed-bean-name> 
    <managed-bean-class>com.sample.managedbeans.LoginBean</managed-bean-class> 
    <managed-bean-scope>session</managed-bean-scope> 
</managed-bean> 

、最初に私は、構成上に除去し、クラス自体に@ManagedBean @SessionScopedを添加しました。私はプロジェクトにCDIを追加したいので、@ManagedBean@Namedquestion 2930889に関して)に変更しました。

は今、私はフィールドユーザ名(#{loginBean.username}としてJSPで使用される)パスワードがNULLで、対応するXHTMLのフォームを送信するとき。私が@ManagedBeanに戻ってもうまくいきます。

ここに何か不足していますか?

敬具、 セバスチャン

答えて

5

JSF 2スペックから来ているとだけ@ManagedBeanと連携して、CDIから@javax.enterprise.context.SessionScopedがあるEE6、@javax.faces.bean.SessionScopedで今2つの@SessionScoped注釈は実際にあります。私の推測では、cdiで無視されるjsfアノテーションを使用しているので、cdiはBeanの新しいインスタンスを作成します。

+0

聖なる牛。それは厄介です。まだ試してみませんでしたが、あなたは正しいです。誤った名前空間を使用しました。 –

関連する問題