1

Struts2 で選択したアクションでローディング バーを使用する必要があり、使用していますServletActionContextが、取得していNullPointerExceptionます。

ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_REQUEST);

execAndWaitxml 構成ファイルからインターセプターを削除すると、正常に動作します。

を使用するように勧められた人もいましたSessionAware。なんでそうなの ?

解決策はありますか?

4

1 に答える 1

1

インターセプターを介してバックグラウンド スレッドを実行すると、リクエスト オブジェクトActionContextThreadLocalありません。execAndWait

を使用する場合は、アクションが実行される前にアクションにセッション オブジェクトを設定できるように、スタックにインターセプターSessionAwareが必要です。servletConfig

解決策:ServletRequestAware要求オブジェクトをアクションに設定 し、スタック内のservletConfigインターセプターの前にインターセプターを使用できる場合。execAndWaitカスタム スタックを作成する必要がある場合は、順序を守る必要があります。

于 2014-12-12T10:56:34.107 に答える