out.print() 和 out.write()详细用法

out.print()和out.write()都可以用在jsp中做输出, 我们先看看区别. 然后再研究什么时候用print(), 什么时候用write().

out.print()

会将所有类型的数据转换为字符串, 包括null值, 并输出

int a = 10;
String b = null
out.print("abc<hr>");	//abc<hr>(html解析后为分割线)
out.print('c');	   //c
out.print(a);	//10
out.print(b);	//null

out.write()

会将所有类型数据转换为字符,字符数组, 字符串并输出.

查看源码

public void write(int c){
    ...
    writeBuffer[0] = (char) c; 
    ...
}

注: 1. 当整型数据转换为字符时, 其中1-32是一些特殊符号, 不会显示出来. 2. 如果传入null值, 会报错

int ab = 10;
String c = null;
out.write(2);	//特殊符号(不显示)
out.write(ab);	//d(10转换为字符d)
out.write("abc<hr>");	//abc<hr>(html解析后为分割线)
out.write(c);	//报错

ASCIIç è¡¨

那么什么时候用print(), 什么时候用write().
<% %>:
用来标示java代码, 里面的全部代码会被原样编译成java代码;
<%= %>:
用来输出数据, 不能放语句, 编译java代码后是使用out.print()输出;
未用jsp样式标示:
未标识的都是html代码, tomcat默认使用out.print(), 并加上双引号输出全部html数据;

猜你喜欢

转载自blog.csdn.net/weixin_42098099/article/details/86300381