1
nullである私は、このようなコンバータを内蔵しています:クロサギ科2.3.0-M06、@PersistenceContextフィールドが
@FacesConverter(managed = true, value = "myConverter")
public class MyConverter implements Converter {
@PersistenceContext(unitName = MyService.PERSISTENCE_NAME)
private EntityManager entityManager;
...
}
問題がのEntityManagerがnullであるということです。 faces-config JSFのバージョンは2.3ですが、Mojarra 2.3.0-m06が使用されています。 Application#createConverter() implementationでは、最初のifの本体にジャンプしますが、コンバーターは作成されません。 the converter is a beanの場合、エンティティマネージャはnullではありません。
ケアを?あなたはそれがどこでも言及されているのを見つけましたか – Kukeltje
新しい機能の例が見つかりました:https://github.com/AnghelLeonard/JSF-2.3/tree/master/JSF23InjectInConverterValidator私のプロジェクトとこの例との違いは、このXMLファイルだけでした。それから、このファイルはすべてのCDIアプリケーションで必要とされていることがわかりましたが、以前はそれがなくても問題はありませんでした。 – Vladiator
@Kukeltje FacesConverterはアノテーションを定義するBeanではないため、デフォルトではCDIで処理されません。ネイティブJSFコンバーターは永続コンテキストのインジェクションをサポートしていませんが、PersistenceContext自体がCDIインジェクションではないにもかかわらず、CDI Beansはデフォルトでそれと統合されます。だからここにbeans.xmlが必要です。 –