0

UserSessionFilter.javaユーザー セッションを処理するために使用するfilter:ApplicationScopedConfig.java、主にDAO factory.

Config.java

@ManagedBean (eager = true)
@ApplicationScoped
public class Config implements Serializable {...

フィルターは、オブジェクトConfigを取得するためにメソッドを呼び出します。DAOFactory

フィルター方法

@Override
public void init(FilterConfig filterConfig) {
    daoFactory = Config.getInstance().getDAOFactory();
}

設定方法

public static Config getInstance() {
        FacesContext facesContext = FacesContext.getCurrentInstance();
        return (Config) facesContext.getApplication().evaluateExpressionGet(
                 facesContext, "#{config}", Config.class);
}

私の問題は、facesContextが に設定されることnullです。Mojarraこの問題は からに切り替えた後に発生し始めましたMyFacesが、それが原因になるのは奇妙に思えます。

4

1 に答える 1

0

FacesContext は Filter 内では使用できません。これまたはこの回答を参照してください。理由:

FacesContext は FacesServlet によって作成されるため、マネージド Bean やフェーズ リスナーなどのすべての JSF アーティファクトをカバーする FacesServlet によって処理される Java コード内でのみ使用できます。

于 2014-02-15T16:04:39.680 に答える