out.print和out.write

[b]问题:[/b]

这是一个JSP页面:

<%@ page language="java" import="java.util.*" %>
<%@ page pageEncoding="UTF-8" isELIgnored="false" %>
<%@ page import="java.util.Date" %>

<html>
<head>
<title> </title>
</head>
<body>
<h1>现在时间:</h1>
<%=new Date() %>
</body>
</html>

转译后生成的servlet,对应的body中,有以下代码:

out.write("<h1>现在时间:</h1>\n");
out.print( new Date());


[b]思考:[/b]
<%= %>表达式代表的是什么? 为什么 new Date()后,没有 “;”(分号)?
servlet中,out.write() 和 out.print() 有何区别?

[b]解答:[/b]
There is a method print(Object). There is no method write(Object)
write(String) exists however.
serch the javaAPI you will find
------------------------------------------
(java中)有这个方法:print(Object),没有这个方法:write(Object)
但是却有这个方法:write(String)
查找javaAPI,你便会发现。

[b]总结:[/b]
out.print()方法,可以输出一个java对象;
out.write()方法,只能输入一个字符串。


[b]参考资料:[/b]
jsp中的out对象是JspWriter类型的.而JspWriter继承了java.io.Writer .

out.write() 是在在父类Writer中定义的
out.print() 是在子类JspWriter中定义的.

重写的 print 方法可以将各种类型的数据转换成字符串的形式输出.
而重载的 write 方法只能输出字符/字符数组/字符串等与字符相关的数据.

而且如果使用这两种方法输出值为null的字符串对象,
那么print方法输出的结果是"null",
而write方法则会抛出NullPoiterException异常.


-
转载请注明,
原文出处:http://lixh1986.iteye.com/blog/1757126


引用:
[url]http://bbs.csdn.net/topics/300007142[/url]
[url]http://wenwen.soso.com/z/q152174496.htm[/url]


--
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值