最近在写代码的时候,遇到一个奇怪的问题。
项目简介:J2EE工程,strut2框架。
在jsp页面请求后台下载word表格时,总会抛出异常getOutputStream() has already been called for this response。参考了网上的方法,在文件流输出完毕之后,添加out.clear()和out=pageContext.pushBody();但是仍然不起作用。
最后在action返回时,使用return NONE; 完美解决。代码如下:
//关闭输出流
out.flush();
out.close();
//必须返回null,否则会抛出异常getOutputStream() has already been called for this response
return NONE;
附上网友的原贴:点击打开链接
注:几天后在用json与客户端交互的时候,莫名其妙地出现一个bug,传递的jsonList会额外增加一组action的参数。参考之前这个问题,在方法中返回null,即可。虽然我并不懂why。欢迎小伙伴在评论中给出解答~