我正在 JSF 和 spring 中创建一个项目,其主要目的是在浏览器中生成 PDF 文件。一切看起来都很好,也生成了 pdf,但在控制台上我遇到了这个异常。有人对此有任何想法吗?我搜索了一下,发现很多人都有这个问题,但我没有找到适合我的问题的解决方案。
SEVERE: Error Rendering View[/WebPages/SearchPages/index.xhtml]
java.lang.IllegalStateException: PWC3991: getOutputStream() has already been called for this response
我在创建输出流对象时收到此错误
HTTPServletResponse response = (HTTPServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();
ServletOutputStream out = response.getOutputStream();
是我创作时出现问题还是其他什么原因?任何帮助将非常感激
您需要告诉 JSF 您自己已经完成了 HTTP 响应,否则 JSF 在操作方法完成后仍将继续执行默认的 RENDER_RESPONSE 作业,这将导致此异常,因为响应已提交。
您可以通过致电来做到这一点FacesContext#responseComplete()在动作方法中。
响应完成
public abstract void responseComplete()
向 JavaServer Faces 实现发出信号,表明已生成此请求的 HTTP 响应(例如 HTTP 重定向),并且当前阶段完成后,请求处理生命周期应立即终止。
也可以看看:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)