2009-12-14 21 views

Répondre

-1

Si vous ne souhaitez pas continuer à traiter la page d'origine après avoir transmis le contrôle à une autre, il vaut mieux utiliser une redirection plutôt qu'une redirection.

response.sendRedirect("foo.jsp"); 

Ceci redirigera vers la nouvelle page et arrêtera le traitement de l'ancienne. Cependant, les redirections ne sont utilisables que si vous n'avez encore rien écrit dans le corps de la réponse (c'est-à-dire que vous n'avez renvoyé aucune donnée au client).

+0

Cela n'arrête pas l'exécution de l'ancienne page jsp. Veuillez vérifier en utilisant System.out.println ("After sendRedirect"); – aProgrammer

0

Vous ne devriez pas faire cela dans un taglib. Plutôt le faire dans un Servlet ou Filter, avant que tout bit a été envoyé à la réponse. Sinon, vous pouvez entrer dans IllegalStateException: response already committed problèmes.

0

Pour moi, les lignes suivantes a bien fonctionné:

String url = "http://google.com"; 

response.reset(); 
response.setStatus(HttpServletResponse.SC_TEMPORARY_REDIRECT); 
response.setHeader("Location", url); 
response.getWriter().close(); 
response.getWriter().flush();