out.print 要比 out.write 功能强大!

来看一个例子:

<% out.print(97); %>
<hr/>
<% out.write(97); %>

输出的结果为:

97
---
a

JSPWriter 是 Writer 类的子类。

1、print 方法是子类 JspWriter中定义的方法,write 是 Writer 类中定义的方法。

2、重载的print方法可将各种类型的数据转换成字符串的形式输出,而重载的 write 方法只能输出字符、字符数组和字符串等与字符相关的数据

3、JspWriter 类型的 out 对象使用 print 方法和 write 方法都可以输出字符串,但是如果字符串对象的值为null时,print 方法将输出内容为 “null” 的字符串,而 write 方法则是抛出 NullPointerException 异常。


像 JSP 中,使用<%= %>这种jsp表达式都是用的 print 方法,而使用 ${} 这种 EL 表达式都是使用到的 write 方法。