getOutputStream() has already been called for this response
Bonjour,
Après quelques recherches, j'ai vu un problème similaire ici :
http://www.developpez.net/forums/d12...tateexception/
...mais pas la solution.
Mon code javascript :
Code:
1 2
| var URL = "monAction.do?
messageWindow =window.open(URL,"","status=no,toolbar=yes,menubar=yes,location=no,resizable=yes"); |
Ensuite j'arrive dans le code java de mon action.
Là, si j'appelle ma fonction closeWindow (cf code ci-dessous), aucun soucis.
Sauf que cette fonction closeWindow, je veux l'appeler si j'ai un problème dans la création de mon flux Excel (qui commence par utiliser response.getOutputStream()).
Et comme le dis le forum, on ne peut utiliser getOutputStream() et getWriter(); alors comment dois-je faire pour fermer ma fenêtre en cas de problème?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| private void closeWindow(HttpServletResponse response)
{
try
{
myOutStream = response.getWriter();
myOutStream.println("<script language=\"javascript\">");
myOutStream.println("window.close();");
myOutStream.println("window.alert(\"An error has occured during Excel export\");");
myOutStream.println("</script>");
}
catch (Exception e)
{
m_logger.error("Error in closeWindow function.", e);
}
finally
{
if (myOutStream != null){
myOutStream.flush();
myOutStream.close();
}
}
} |