【发布时间】:2010-10-04 07:23:55
【问题描述】:
我正在开发一些自定义 JSP 标记。在我的SimpleTag.doTag() 中,我获取JspContext 并调用getOut() 以获取JspWriter。写信给JspWriter时,write(String)和print(String)有什么区别?我应该打电话给一个而不是另一个吗?
【问题讨论】:
我正在开发一些自定义 JSP 标记。在我的SimpleTag.doTag() 中,我获取JspContext 并调用getOut() 以获取JspWriter。写信给JspWriter时,write(String)和print(String)有什么区别?我应该打电话给一个而不是另一个吗?
【问题讨论】:
print() 方法可以缓冲,write() 方法是从 Writer 类继承的,不能 - 所以你可以从 JspWriter 的 print() 方法中获得更好的性能。
此外,print() 方法被重载以将许多不同类型的对象作为参数,而 write 方法只处理字符串和字符。
有关详细信息,请参阅JspWriter javadocs。
【讨论】:
来自 javadoc:
'write' 函数继承自 java.io.writer 。
'print' 函数:如果参数为 null,则打印“null”。否则,字符串的字符将被写入 JspWriter 的缓冲区,或者,如果没有使用缓冲区,则直接写入底层写入器。
【讨论】: