Все классы и интерфейсы Java Server Pages

       

Javax.servlet.jsp.tagext Интерфейс Tag


Все Известные Субинтерфейсы:,

public abstract interface Tag

Интерфейс простого обработчика тэга, который не манипулирует своим телом. Интерфейс Tag определяет базовый протокол между обработчиком Tag'а и классом реализации JSP-страницы. Определяет жизненный цикл и методы, вызываемые в начальном.

Свойства

Интерфейс Tag специфицирует setter- и getter-методы для основных свойств pageContext и parent.

Объект реализации JSP-страницы вызывает setPageContext и setParent, в указанной последовательности, до вызова doStartTag() или doEndTag().

Методы

Выполняются два главных действия: doStartTag и doEndTag. После того как соответствующие свойства инициализированы, методы doStartTag и doEndTag могут быть вызваны в обработчике тэга. Принимается, что между этими вызовами обработчик тэга поддерживает статус, который обязан быть сохранён.

После вызова doEndTag обработчик тэга доступен для последующих вызовов (и предполагается, что он сохраняет свои свойства).

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

Детали жизненного цикла представлены на диаграмме, со следующими комментариями:

  • [1] Этот перенос предназначен для освобождения длительно хранящихся данных. Нет никаких гарантий сохранения каких-либо свойств.
  • [2] Этот перенос происходит, если, и только если, тэг заканчивается нормально, без вызова исключения.
  • [3] Заметьте, что, поскольку нет никаких гарантий сохранения статуса свойств, обработчик тэга, имевший установленными некоторые необязательные/optional свойства, может быть использован повторно только в том случае, если эти свойства устанавливаются в новые (известные) значения. Это означает, что такие обработчики тэгов могут использоваться повторно только с тем же "AttSet" (набором атрибутов, которые уже установлены).
  • Просмотрите интерфейс TryCatchFinally на предмет выяснения некоторых деталей относительно обработки исключений и обслуживания ресурсов.

После того как выполнены все вызовы обработчика тэга, в нём вызывается метод release.

После того как метод release вызван, принимается, что все свойства, включая parent и pageContext, восстановлены в неспецифицированные значения. Компилятор страницы гарантирует, что release() будет вызван в обработчике Tag'а до освобождения обработчика в GC.




Пустая и Непустая Акция

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

Иначе, метод doStartTag() может возвратить SKIP_BODY или EVAL_BODY_INCLUDE.

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

Если возвращено EVAL_BODY_INCLUDE, тело обсчитывается и "передаётся" текущему out.

Поле. Резюме.
staticint

          Вычисляет тело в существующем потоке out.
static int

          Продолжить обсчёт страницы.
static int

          Пропустить вычисление тела.
static int

          Пропустить остаток страницы.
Метод. Резюме.
 int ()

          Обработать конечный тэг данного экземпляра.
 int ()

          Обработать начальный тэг данного экземпляра.
  ()

          Получить родителя (ближайший содержащий обработчик тэга) данного обработчика тэга.
 void ()

          Вызывается в обработчике Tag'а для освобождения состояния.
 void ( pc)

          Устанавливает текущий контекст страницы.
 void ( t)

          Устанавливает родителя (ближайший содержащий обработчик тэга) данного обработчика тэга.
Поле. Детали.

Содержание раздела