Bean を使用して (スコープ指定されたリクエストをお勧めします)、FacesContext を介してコンテキストに直接アクセスすることもできます。
次のコードを使用して、HttpServletRequest および HttpServletResposne オブジェクトを取得できます。
HttpServletRequest req = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
HttpServletResponse res = (HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
この後、オブジェクトを介して個々のパラメーターにgetParameter(paramName)
アクセスしたり、完全なマップにアクセスしたりできますgetParameterMap()
req
リクエスト スコープ Bean を提案する理由は、初期化中にこれらを使用できるため (最悪の場合はコンストラクターです。ほとんどのフレームワークでは、Bean の初期化時にコードを実行する場所が提供されます)、リクエストが受信されると実行されます。
ただし、これはちょっとしたハックです。;) 必要な変数へのアクセスを可能にする JSF Acegi モジュールがあるかどうかを調べることをお勧めします。