non, tu ne peux faire un forward que si tu n'as rien envoy� au client auparavant.
Remplace ton second forward() par un include() et �a devrait aller.
Attention, la ressource (servlet/jsp) incluse ne doit pas modifier les en-t�tes HTTP
(donc pas de positionnement de content-type, etc...).
Enfin, tout �a c'est dans la spec :-)
-----Original Message-----
From: "Jean Michel Flambard" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Date: Mon, 3 Jun 2002 17:57:25 +0200
Subject: pb RequestDispatcher
Bonjour � tous,
Voici mon probleme:
J'ai une servlet (appelons la sA) qui execute un forward sur un jsp (jspA).
jspA appele une servlet sB.
Normalement � la sortie de sB, c'est sA qui reprend la main (si j'ai bien
compris le fonctionnement
de RequestDispatcher).
Or, apr�s le forward vers jspA, ma servlet sA execute un nouveau forward
vers une servlet sC.
Sauf que l� mon applic. plante avec l'erreur suivante:
forward() not allowed after buffer has commited.
Et une IllegalStateException.
D'ou ma question, peut-on faire deux forwards � la suite dans une servlet,
comme ceci:
RequestDispatcher rd =
this.getServletContext().getRequestDispatcher("/jspA");
rd.forward(req, res);
rd = this.getServletContext().getRequestDispatcher("/servlet/sC");
req.setAttribute("nomObject", objet);
rd.forward(req, res);
Merci d'avance,
--
Jean Michel
-- Use Opera, the most user-friendly web browser on Earth --