Все классы и интерфейсы 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.




Содержание  Назад  Вперед