struts2如何解决java.lang.IllegalStateException

来源:互联网 发布:clip studio for mac 编辑:程序博客网 时间:2024/06/05 06:21
在Action中写
PrintWriter out = response.getWriter();out.print("CODE");out.flush();

抛出java.lang.IllegalStateException

网上搜了搜,好多解决办法都不可行。但是原因是找到了。Struts在其它地方调用了response.getOutputStream();

但是getOutputStream()和getWrite()这两个输出流只能同时使用其中的一个,是排斥的,那不用getWriter()就好了,程序改为:

ServletOutputStream out = response.getOutputStream();out.print("CODE");out.flush();

就好。但是ServletOutputStream只能输出ISO-8859-1字符,再改

ServletOutputStream servletOutputStream = response.getOutputStream();OutputStreamWriter out = new OutputStreamWriter(servletOutputStream, "utf-8");out.write("CODE");out.flush();
现在可以输出中文了。

原创粉丝点击