2016-08-11 1 views
-1

私のカスタムインターセプタstruts2のweb.xmlからコンテキストパラメータを読み込もうとしています。 下記のコードスニペットとweb.xmlをご覧ください。Interceptorクラスの登録時に例外が発生しました。TestInterceptor - interceptor-file:WebContent/WEB-INF/classes/struts.xml:15:75

public class TestInterceptor implements Interceptor, ServletContextAware { 
    private ServletContext servletContext; 

    string abc = servletContext.getInitParameter(someSetting); 

    @Override 
     public void setServletContext(final ServletContext context) { 
     this.servletContext = servletContext; 
     } 
    } 

web.xmlの

<context-param> 
    <param-name>someSetting</param-name> 
    <param-value>someValue</param-value> 
</context-param> 
+0

私のインターセプタは – Manu

+1

です。ここには例外リストはありません。タイプは '文字列'ではなく '文字列'でなければなりません。また、サーブレット・コンテキストがヌルでないことを保証しているこのパラメータを '後で'設定することもできます。 – andrewdleach

+1

具体的な問題を明確にしたり、詳細を追加して必要なものを正確に強調してください。現在書かれているとおり、あなたが求めていることを正確に伝えるのは難しいです。この質問を明確にする方法については、How to Askページを参照してください。 –

答えて

0

それが設定される前に、あなたがたServletContextにアクセスしているので、このコードは、動作することはできません。 setServletContextメソッド内で文字列を抽出してみてください。

+0

それは正しいです私はなぜヌルオブジェクトのメソッドを呼び出す際にこの例外(nullポインタの例外)を取得しているnulls thatsとしてservletContextオブジェクトを取得しています..しかし、私はinitメソッドからdatasourceオブジェクトを取得しているときだけinitメソッドからその文字列を呼び出す必要があります。 struts2を使用してこのコンテキストオブジェクトを取得する代わりに、私に代わってsugestしてください。 – Manu

+0

Init()カスタムインターセプターのメソッド。 – Manu

関連する問題