JspWriter писать против печати - PullRequest
6 голосов
/ 29 января 2009

Я разрабатываю несколько пользовательских тегов JSP. В моем SimpleTag.doTag() я беру JspContext и звоню getOut(), чтобы получить JspWriter. При записи в JspWriter, что отличается между write(String) и print(String)? Должен ли я звонить одному вместо другого?

Ответы [ 2 ]

9 голосов
/ 29 января 2009

Метод print () может буферизовать, метод write () наследуется от класса Writer и не может - поэтому вы можете получить лучшую производительность из метода print () JspWriter.

Кроме того, метод print () перегружен, чтобы принимать в качестве аргумента множество различных типов объектов, тогда как метод write работает только со строками и символами.

Подробнее см. JspWriter javadocs .

3 голосов
/ 29 января 2009

из Javadoc:

Функция ' write ' была унаследована от java.io.writer.

Функция ' print ': печатает «ноль», если аргумент был нулевым. В противном случае символы строки записываются в буфер JspWriter или, если буфер не используется, напрямую в базовый модуль записи.

...