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()的区别](http://s6.sinaimg.cn/middle/7ffb8dd5gc93dd5e33795&690)
查看浏览器源代码:
![JSP中out.write()和out.print()的区别 JSP中out.write()和out.print()的区别](http://s6.sinaimg.cn/middle/7ffb8dd5gc93dd8736cd5&690)
示例二、
<% out.println("<font color='red'>你好,world2!</font>"); %>
<% out.write("<font color='green'>你好,world3!</font>"); %>
浏览器输出结果:(和示例一相同)
![JSP中out.write()和out.print()的区别 JSP中out.write()和out.print()的区别](http://s4.sinaimg.cn/middle/7ffb8dd5gc93ddd63da63&690)
浏览器源代码:(和示例一相比 源代码换行了)
![JSP中out.write()和out.print()的区别 JSP中out.write()和out.print()的区别](http://s10.sinaimg.cn/middle/7ffb8dd5gc93de4407d39&690)
################################################################
另外值得注意的是:
没有out.writeln()这个函数;要想显示在浏览器上的结果换行,可以加上<br>
如: <% out.println("<font color='red'>你好,world2!<br></font>"); %>
<% out.write("<font color='green'>你好,world3!<br></font>"); %>
<% out.write("<font color='green'>你好,world3!</font>"); %>
浏览器输出结果:
查看浏览器源代码:
示例二、
<% out.println("<font color='red'>你好,world2!</font>"); %>
<% out.write("<font color='green'>你好,world3!</font>"); %>
浏览器输出结果:(和示例一相同)
浏览器源代码:(和示例一相比 源代码换行了)
################################################################
另外值得注意的是:
没有out.writeln()这个函数;要想显示在浏览器上的结果换行,可以加上<br>
如: <% out.println("<font color='red'>你好,world2!<br></font>"); %>
<% out.write("<font color='green'>你好,world3!<br></font>"); %>