Спецификация Java Server Pages 1.2

JSP.10.2.2 BodyTag - часть 2



Жизненный цикл


Детали жизненного цикла даны ниже на диаграмме переноса. Исключения, вызываемые в процессе вычислений doStartTag(), setBodyContent(), doInit-Body(), BODY, doAfterBody(), прерывают выполнение и помещаются на верх стэка, если только обработчик тэга не реализует интерфейс TryCatchFinally; см. детали об этом интерфейсе.
 


Пустые и Непустые Акции


Если TagLibraryDescriptor-файл указывает, что акция всегда обязана иметь пустую акцию (когда вхождение <body-content> установлено в “empty”), тогда метод doStartTag() обязан возвращать SKIP_BODY. В ином случае метод doStartTag() может возвратить SKIP_BODY, EVAL_BODY_INCLUDE или EVAL_BODY_BUFFERED.

Если возвращено SKIP_BODY, тело не обсчитывается и вызывается doEndTag().


Если возвращено EVAL_BODY_INCLUDE, setBodyContent() не вызывается, doInitBody() не вызывается, тело обсчитывается и “передаётся” текущему out, затем вызывается doAfterBody() и, после 0 или более итераций, вызывается doEndTag().


Если возвращено EVAL_BODY_BUFFERED, setBodyContent() вызывается, doInit-Body()

вызывается, тело обсчитывается, вызывается doAfterBody() и, после 0 или более итераций, вызывается doEndTag().

JSP.10.2.2.11 Поля


public static final int EVAL_BODY_BUFFERED


Запрашивается создание нового буфера, bodyContent, в котором происходит обсчёт тела данного тэга.


Возвращается из doStartTag, если класс реализует BodyTag.

Неверным является значение doStartTag, если класс не реализует BodyTag.


public static final int EVAL_BODY_TAG


Не рекомендуется. Так как Java JSP API 1.2 использует BodyTag.EVAL_BODY_BUFFERED или IterationTag.EVAL_BODY_AGAIN.


Не рекомендуемая для использования константа, которая имеет то же значение, что и EVAL_BODY_BUFFERED и EVAL_BODY_AGAIN. Помечена как не рекомендуемая с целью продвижения этих двух различных терминов, которые являются более описательными.

JSP.10.2.2.12 Методы


public void doInitBody()


Подготавливает обсчёт/вычисление тела/body. Этот метод вызывается объектом реализации JSP-страницы после setBodyContent и до первого вычисления тела. Этот метод не вызывается для пустых тэгов или непустых тэгов, чей метод doStartTag() возвращает SKIP_BODY или EVAL_BODY_INCLUDE.




Начало  Назад  Вперед



Книжный магазин