1

javax.servlet.Filter を使用して a4j リクエストを傍受する方法を知っている人はいますか? インターセプトは、FacesServlet が呼び出される前に発生する必要があります (これが、フィルターを使用して行うことを計画している理由です)。

最初に動的制御を行う必要があるため、backbean で実行されるメソッドを知りたいです。

4

1 に答える 1

0

a4jリクエストのマーカーのリクエストヘッダーを決定したいとします。私はa4jをしませんが、それがうまく機能していれば、X-Requested-Withヘッダーに基づいてそれを決定できるはずです。

String requestedWith = request.getHeader("X-Requested-With");

次にif、値がa4j要求に期待される値であるかどうかをブロックで判別し、それに応じて処理します。必要に応じて、最後にフィルターチェーンを継続することを忘れないでください。

if (requestedWith.equals(someAjax4jsfSpecificValue)) {
    // Do your job.
}
chain.doFilter(request, response);

<servlet-name>実行するには、FacesServlet現在で定義されているのにマップするだけweb.xmlです。

<filter-mapping>
    <filter-name>yourFilter</filter-name>
    <servlet-name>facesServlet</servlet-name>
</filter-mapping>
于 2010-08-25T15:41:33.867 に答える