0

我正在创建一个工作簿并尝试下载它。当我使用 workbook.write(outputstream) 时,我面临的问题似乎 outputstream 和 printwriter 不能一起工作,这为我创建了一个响应已经提交的异常。您能否让我知道我们是否有任何方法可以使用 printwriter 编写此内容,所以我会从已经提交异常的响应中出来。

pRes.setContentType(MS_EXCEL); pRes.setHeader(内容,文件名);

        outputStream = pRes.getOutputStream();
        workbook.write(outputStream);

我得到的例外是,

java.lang.IllegalStateException: getOutputStream() 已经在 org.apache.catalina.connector.Response.getWriter(Response.java:619) 在 org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade. java:198) 在 org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125) 在 org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118) 在 org.apache.jasper.runtime .JspWriterImpl.flush(JspWriterImpl.java:173)

4

1 回答 1

0

由于您是从 jsp 调用的,因此您需要将其添加<%@ page trimDirectiveWhitespaces="true" %>到页面中以阻止空格与您的输出流混淆。

于 2013-04-02T17:26:08.877 回答