我的Servlet中有以下代码,但当IE点击该页面时,它会返回一个空白的html页面。如果我直接在StreamResult构造函数中使用response.getOutputStream(),则页面加载正常。我错过了什么?
响应是HttpServletResponse的一个实例, xsl 是来自XSLTC TransformerFactory的Transformer实例
response.setHeader("Content-Encoding", "gzip");
GZIPOutputStream gzipOut = new GZIPOutputStream(response.getOutputStream());
Result outputResult = new StreamResult(gzipOut);
xsl.transform(xmlSource, outputResult);
答案 0 :(得分:1)
我猜你没有关闭gzipOut流,因此它没有发送“页脚”信息。
答案 1 :(得分:-1)
原来在这个流上有一个.finish()是必需的。它类似于flush,但由于它是一个不同的调用,Transformer不知道使用它。