JSP out.print()和out.write()区别详解
JSP中out.print()和out.write()方法都属于抽象类Writer的抽象子类JspWriter的方法;其中out.print()方法属于抽象子类JspWriter中的方法,而out.write()是父类Writer的方法.
定义
out.print(): 调用的是JspWriter类中的方法
out.writer(): 调用的是其父类Writer类中的方法
区别
1. print方法是子类JspWriter,write是Writer类中定义的方法;
2. 重载的print方法可将各种类型的数据转换成字符串的形式输出,而重载的write方法只能输出字符、字符数组和字符串等与字符相关的数据;
3. JspWriter类型的out对象使用print方法和write方法都可以输出字符串,但是,如果字符串对象的值为null时,print方法将输出内容为“null”的字符串,而write方法则是抛出NullPointerException异常。
例子
1. 输出数字例子
<% out.print(97); %> <hr/> <% out.write(97); %>
输出结果:
out.print(97):打印出的效果是为97;而对于out.write(97):打印出来的是a。2者输出的结果不同,区别在于out.print(97)中直接将97转化为了字符串”97”,所以显示出来时97;而对于out.write(97)中是将97转换为了对应的ASCII表中的字符a。
2. 输出代码字符串
<% out.print("<font color='red'>你好,world2!</font>"); %> <% out.write("<font color='green'>你好,world3!</font>"); %>
执行结果:
总结
1. out.write()方法只能输出字符/字符数组/字符串等等字符相关类型的数据;而对于out.print()方法是属于子类JspWriter中的自己的抽象方法,它将所有数据都转换为了字符串的形式输出.
2. 对于当两种方法输入的都为字符串时,如果值为null,对于out.print()来说会打印出null,而对于out.write()来说会直接报出空指针异常(NullPointerException异常).
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。