我在我的网络应用程序中使用struts2。我想在jsp上呈现pdf流。我目前正在这样做:
public String renderPDF() throws Exception
{
myService.rederPDF(getServletResponse().getServletOutputStream());
return SUCCESS;
}
myService的rederPDF方法获取pdf流并写入servlet响应输出流。但是这引发了一个例外,即“响应已经被提交”。
答案 0 :(得分:0)
如果您在转发前已向客户端发送了一些内容,则会发生此异常。
我使用Servlets下载文件。看看。
public class FileDownloadServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
byte[] b = null;
ServletOutputStream sop = null;
try {
response.setContentType("application/pdf");
response.setHeader("Content-Disposition","attachment; filename=yourFileName.pdf");
sop = response.getOutputStream();
b = myService.getFileData(); /* your code */
sop.write(b);
return;
} catch (Exception e) {
/* some code*/
}
finally{
/* some code*/
}
}
}