[Struts]Response already committed
Bonjour,
Je me suis basé sur l'exemple de la FAQ pour envoyer au client un fichier avec Struts. Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
ByteArrayOutputStream out = new ByteArrayOutputStream();
// export excel
ExportExcel export = new ExportExcel();
response.setContentType(export.getMimeType());
response.setHeader("Content-disposition", "filename=rechOrganeConso.xls");
export.setParameters(model, true, true, true);
export.doExport(out);
OutputStream outFinal = new BufferedOutputStream(response.getOutputStream());
outFinal.write(out.toByteArray());
outFinal.flush();
out.close();
outFinal.close(); |
L'export Excel marche bien, mais le forward echoue a cause de l'exception suivante :
Citation:
java.lang.IllegalStateException: Cannot forward. Response already committed.
Pouvez-vous m'expliquer qu'est ce que je ne fais pas dans le bon ordre ou ce qui ne va pas dans ce bout de code ?
D'avance merci !
La7su
Re: [Struts]Response already committed
Citation:
Envoyé par la7su
Pouvez-vous m'expliquer qu'est ce que je ne fais pas dans le bon ordre ou ce qui ne va pas dans ce bout de code ?
D'avance merci !
La7su
Qu'est ce que tu fais comme return après cette fonction?
Pourquoi ne pas exporter le fichier excel directement dans le outputstream de ta réponse? Le ByteArrayOutputStream ne sert à mon avis à rien du tout....