0

PhaseListenerのdoPostメソッドから呼び出したいServlet。どうやってやるの?

私はこのようにしたくない

RequestDispatcher dispatcher = request.getRequestDispatcher("/jsp/html/index.jsf"); dispatcher.forward(request, response);

PhaseListenerがチェックしているのでviewId。上記の方法を使用すると、ビューIDは常に。のままになりますindex.xtml。だから、私の状態を確認することができません。

4

1 に答える 1

0

新しいリクエストを開始しない転送を使用しているため、元のリクエストURIを保持します。新しいリクエストを開始し、新しいリクエストURIを提供するリダイレクトを実行する必要があります。したがって、使用する必要があります:

response.sendRedirect("/jsp/html/index.jsf");

ステータスresponse.sendRedirect()が302に設定されることに注意してください。301ステータスが必要な場合は、以下を使用する必要があります。

response.setStatus(301);
response.setHeader("Location", "/jsp/html/index.jsf");
于 2012-08-30T08:37:42.510 に答える