日期:2014-05-19  浏览次数:20930 次

jsp内置对象out的两个方法out.clear()和out.clearBuffer()的区别
jsp的一个内置对象out,其中的两个方法,out.clear()和out.clearBuffer(),按照他们的功能,现在来做一个测试
----------
  <%@ page language="java" pageEncoding="gb2312" autoFlush="true" buffer="8kb" %>
  <html>
  <head>
  <title></title>
  </head>
  <body>
  cry a boy 
  <%  
  out.clear();
  %>
  </body>
  </html>

测试结果:页面没有输出"cry a boy",符合 out.clear()的用法(清空缓存)

---------
 <%@ page language="java" pageEncoding="gb2312" autoFlush="true" buffer="8kb" %>
  <html>
  <head>
  <title></title>
  </head>
  <body>
  cry a boy 
  <%  
  out.clearBuffer();
  %>
  </body>
  </html>
测试结果:页面也没有输出"Cry a boy",这不符合out.clearBuffer()用法(清空缓存的同时将其内容输出)
   
测试结果和书上不同

------解决方案--------------------
不懂,为什么要这样写呢?

是不是jsp在加载的时候先执行

out.clearBuffer();?

如果你在前面写一句

StringBuffer s=new StringBuffer("这是什么东西?")
out.clearBuffer();

这样呢?