response.getWriter()
会给你不同的编写器而不是JSP中使用的编写器.如果要在JSP页面使用时写入同一个编写器,则需要使用out
JSP页面中的变量.区别在于JSP在标准之上使用缓冲response.getWriter()
.这就是为什么你看到你的数据写response.getWriter()
在JSP体之前的原因.
你不能混用response.getWriter()
和response.getOutputStream()
.out
JSP中的变量是获得的JspWriter实例包装编写器,response.getWriter()
因此调用response.getOutputStream()
将失败.
你应该在你的JSP中做什么:
<% new MyClass().writeToWriter(out); %>
在MyClass中:
public void writeToWriter(Writer w) { w.println("My data appended to correct writer"); }