Fondamentalement, nous voulons créer un taglib qui peut éventuellement transmettre l'exécution de la requête à une autre page, similaire à <jsp:forward />
. Comment pouvons-nous empêcher le reste de la page JSP d'être exécuté depuis le taglib?Comment arrêter l'exécution de requêtes supplémentaires à l'intérieur d'un taglib?
Répondre
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).
Cela n'arrête pas l'exécution de l'ancienne page jsp. Veuillez vérifier en utilisant System.out.println ("After sendRedirect"); – aProgrammer
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();
expliquer plus. ce n'est pas clair maintenant. – Bozho