Problemas con ServletOutputStream
He creado un tagLib (JSP, customtags) que genera una tabla HTML y un link "exportar a excel". Al pulsar el link se abre el excel en otra ventana con los datos de la tabla HTML.
El funcionamiento es el siguiente: el tagLib crea el objeto HSSFWorkBook (objeto para manejo de excel del API POI-HSSF) con los datos de la tabla y lo guarda en sesión. Al pulsar el link se ejecuta una webaction de Struts que obiene el objeto HSSFWorkBook de la sesión y lo saca por el ServletOutputStream (obtenido de la request).
La primera vez que se pulsa el link "exportar a excel" se abre la ventana con el excel correctamente, pero la segunda vez da el siguiente error:
java. Lang. IllegalStateException: getOutputStream() ya ha sido llamado para esta respuesta
Si recargas la página de nuevo se vuelve a ejecutar correctamente, pero sino... En fin, que parece que se trate de la misma petición y el stream se haya quedado abierto (o algo así), pero da el mismo error a pesar de ejecutar el flush y el close del stream.
¿Alguna sugerencia?
El funcionamiento es el siguiente: el tagLib crea el objeto HSSFWorkBook (objeto para manejo de excel del API POI-HSSF) con los datos de la tabla y lo guarda en sesión. Al pulsar el link se ejecuta una webaction de Struts que obiene el objeto HSSFWorkBook de la sesión y lo saca por el ServletOutputStream (obtenido de la request).
La primera vez que se pulsa el link "exportar a excel" se abre la ventana con el excel correctamente, pero la segunda vez da el siguiente error:
java. Lang. IllegalStateException: getOutputStream() ya ha sido llamado para esta respuesta
Si recargas la página de nuevo se vuelve a ejecutar correctamente, pero sino... En fin, que parece que se trate de la misma petición y el stream se haya quedado abierto (o algo así), pero da el mismo error a pesar de ejecutar el flush y el close del stream.
¿Alguna sugerencia?
1 respuesta
Respuesta de dadelcas
1