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>"); %>
浏览器输出结果:
查看浏览器源代码:
示例二、
<% 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>"); %>
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);
%>
##################################
示例一、
浏览器输出结果:
![JSP中out.write()和out.print()的区别 JSP中out.write()和out.print()的区别](https://i-blog.csdnimg.cn/blog_migrate/5551490e30dca2a4ef5d519657257fbe.jpeg)
查看浏览器源代码:
![JSP中out.write()和out.print()的区别 JSP中out.write()和out.print()的区别](https://i-blog.csdnimg.cn/blog_migrate/d1fac7061f91ecf5e3f58fc3465e4cbe.jpeg)
示例二、
浏览器输出结果:(和示例一相同)
![JSP中out.write()和out.print()的区别 JSP中out.write()和out.print()的区别](https://i-blog.csdnimg.cn/blog_migrate/460dbc00b6e8b4f2da35c6b518f19431.jpeg)
浏览器源代码:(和示例一相比 源代码换行了)
![JSP中out.write()和out.print()的区别 JSP中out.write()和out.print()的区别](https://i-blog.csdnimg.cn/blog_migrate/e5d5435ce0ee2e932c33e0df70c92beb.jpeg)
################################################################
另外值得注意的是:
如: