4

私は現在、レガシーサーブレット(アプリケーションの古い部分)からJSFページ(アプリケーションの新しい部分)に取得するためにクライアント側のリダイレクトを行っています。可能であればサーバー側のリダイレクトを実行して、JSFページが取得できるリクエストにアイテムを配置できるようにします。(レガシーサーブレットとJSFページの間で「ハンドオフ」する必要のあるデータのセットがあり、これらをクライアント側のリダイレクトURLに(URLパラメーターとして)配置するのではなく、サーバーでこれを実行することをお勧めします-側)。

サーブレット(Facesサーブレットではない)とJSFページの間でサーバー側リダイレクトを行う方法がある場合、その方法を教えてください。

4

1 に答える 1

3

RequestDispatcher#forward()通常の方法で電話してください。すべてのサーブレットは、転送されたリクエストもインターセプトします。FacesServletフォワードパスがマッピングと一致することを確認する必要があります。あなたがそれをマッピングしたと仮定すると*.xhtml、これは次のようになります:

request.getRequestDispatcher("/page.xhtml").forward(request, response);

/WEB-INFエンドユーザーが最初にサーブレットを呼び出さずにページを直接開くことができないようにする場合は、必要に応じてページをフォルダーに配置できます。

request.getRequestDispatcher("/WEB-INF/page.xhtml").forward(request, response);
于 2012-05-08T13:15:10.550 に答える