JSP中out.write()和out.print()的区别

时间:2023-03-09 08:19:12
JSP中out.write()和out.print()的区别

out对象的类型是JspWriter。JspWriter继承了java.io.Writer类。

1)print方法是子类JspWriter,write是Writer类中定义的方法;

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

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

下面的test.jsp文件:

<% String str=null;

out.print(str);

//out.write(str);

%>
##################################
示例一、

  
<% out.print("<font
color='red'>你好,world2!</font>");
%>
   
<% out.write("<font
color='green'>你好,world3!</font>");
%>
浏览器输出结果:
JSP中out.write()和out.print()的区别

查看浏览器源代码:
JSP中out.write()和out.print()的区别

示例二、
   
<% out.println("<font
color='red'>你好,world2!</font>");
%>
   
<% out.write("<font
color='green'>你好,world3!</font>");
%>
浏览器输出结果:(和示例一相同)
JSP中out.write()和out.print()的区别
浏览器源代码:(和示例一相比 源代码换行了)
JSP中out.write()和out.print()的区别

################################################################

另外值得注意的是:
     
没有out.writeln()这个函数;要想显示在浏览器上的结果换行,可以加上<br>

如:  <%
out.println("<font
color='red'>你好,world2!<br></font>");
%>
   
<% out.write("<font
color='green'>你好,world3!<br></font>");
%>