jsp中的out对象是JspWriter类型的.
而JspWriter继承了java.io.Writer.write方法是在在父类Writer中定义的,print方法是在子类JspWriter中定义的.
重载的print方法可以将各种类型(对象)的数据转换成字符串的形式输出.
而重载的write方法只能输出字符/字符数组/字符串等与字符相关的数据变量.
而且如果使用这两种方法输出值为null的字符串对象,那么print方法输出的结果是"null",而write方法则会抛出NullPoiterException异常.
/*
*这里面使用print可以输出Date类的now实例对象,并将对象转化为数据,
*使用write就会报错,write方法只能输出字符/字符数组/字符串等与字符相关的数据变量
*/
<body style="font-size:30px;">
<%
Date now = new Date();
out.print(now);
%>
</body>
总之,print输出任何对象,write输出变量字符。
---------------------------------------------------------------------------------------------
<%out.print("hello");
out.println("hello");
out.println("hello"); out.println("hello");
%>
输出的结果hello会显示在一行上。
但是html源码
hellohello
hello
hello;在源代码中是有换行的,如果要页面显示效果也换行,那么就要在println()方法是在jsp编译成servlet是在字符串后面添加换行标记"<br/>"
<%--使用jsp内置隐含对象out --%>
<%out.print("hello"+"<br/>");
out.println("hello");
out.println("hello"+"<br/>"); out.println("hello");
%>
html源码
hello
<br></br>
hello
hello
<br></br>
hello
可以正常显示换行效果