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


JSP.10.1.1 Интерфейс Tag



Синтаксис


public interface Tag


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


Описание


Это интерфейс простого обработчика тэга, который не хочет манипулировать своим содержимым. Интерфейс 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, устанавливаются в неспецифицированное значение/unspecified. Компилятор страницы гарантирует, что release() будет вызван в обработчике Tag, до того как обработчик будет освобождён для GC.


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




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



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