欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

深入理解JSP中的六大内置对象之一:out对象

最编程 2024-08-11 09:11:32
...

out对象是在JSP开发过程中使用得最为频繁的对象,但使用也是最为简单的。

out对象的常用方法

out对象的常用方法如下:

print():在页面中打印出字符串信息,不换行;
println():在页面中打印出字符串信息,并且换行;
clear():清除掉缓冲区中尚存在的内容。
clearBuffer():此方法清除掉当前缓冲区中尚存在的内容。
flush():清除掉数据流。
getBufferSize():返回缓冲区的内存大小,单位为字节流。如果不进行缓冲区的设置,大小为0。
getRemaining():此方法返回缓冲区还剩下多少字节数可以使用。
isAutoFlush():检查当前缓冲区是设置为自动清空,还是满了就抛出异常。
close():关闭输出流。

其中print()与println()两个方法是使用最为频繁的。

数据输出实例

下面,同样将举一个例子来讲解out内置对象的使用方法。创建一个out.jsp文件,详细代码如下:

<%@ page buffer=”1kb” autoFlush=”true” contentType=”text/html;charSet=GBK” %>
<html>
<body>
<% 
    for(int i=0;i<135;i++) //迭代输出
    Out.println(“Hello world, “+i+” “);
%>
<br>BufferSize: <%=out.getBufferSize() %>
<br>BufferRemain: <%=out.getRemaining() %>
<br>AutoFlush: <%=out.isAutoFlush() %>
<% out.clearBuffer(); %>
</body>
</html>

程序说明:page指令中的buffer属性用来设置缓冲区的大小。autoFlush属性为true表示缓冲区是自动清空的。在浏览器中运行这个JSP页面将会发现,程序只能输出到i=106,后面的数字以及内容将全部被清空了,显示不出来。这是因为out对象调用的clearBuffer()方法把缓冲区当前内容全部清除掉了。

把程序中的clearBuffer()方法换成clear()方法,再运行会报错。这是因为在调用clear()方法之前,缓冲区已经自动清除过了(autoFlush=true)。如果把程序中的循环次数改小一点,则不管程序调用的是clear()还是clearBuffer()方法,浏览器上将什么也不显示。因为内容已经被clear()或者clearBuffer()方法清空掉了。但这时使用clear()方法却不会出错,因为缓冲区这时还没有满,autoFlush没有起到作用。