2016-07-25 15 views
0

私のプロジェクトでは、一部の機能をオーバーライドします。javax.el.ELResolver(バージョン3.0)を拡張します。そして、私はJSF faces-config.xml内のコンフィギュレーションファイルにクラスを置く:JSFを使用せずにELResolverを構成する方法

<application> 
    <el-resolver>com.myapp.common.el.SectionELResolver</el-resolver> 
</application> 

は今、私はJSFフレームワークを削除するには、私のELResolverの構成を維持したいです。設定方法 サーブレットの作成方法と設定方法はweb.xmlですか?

答えて

1

あなただけJspApplicationContext#addELResolver()を経由して、プログラムでそれを行うことができます。これにはweb.xmlのサポートはありません。 ServletContextListenerを使用してタスクを実行できます。

@WebListener 
public class ApplicationListener implements ServletContextListener { 

    @Override 
    public void contextInitialized(ServletContextEvent event) { 
     JspFactory.getDefaultFactory() 
        .getJspApplicationContext(event.getServletContext()) 
        .addELResolver(new SectionELResolver()); 
    } 

    @Override 
    public void contextDestroyed(ServletContextEvent event) { 
     // NOOP. 
    } 

} 
関連する問題