- •Тэги таблиц
- •Тэги списков
- •Список сотрудников нашей фирмы Составлено : 30 июля 1996 года
- •Гипертекстовые ссылки
- •Графика внутри html-документа
- •Добавление стилей в ваш html-документ
- •Специальные тэги html
- •Произвольные тэги
- •Что нам дают произвольные теги?
- •Использование Тэгов и JavaBeans
- •Тэги, которые управляют содержимым своего тела
- •Итеративные тэги
- •Тэги внутри Тэгов
- •Классы Тэгов
- •Использование классов TagExtraInfo
- •Повторный Обзор Дескриптора Библиотеки
- •Развертывание Библиотеки Тэга
- •Использование Библиотек Тэга от Третьих Производителей
Классы Тэгов
Определить, что лучше использовать для реализации вашего обработчика тэга - интерфейс или класс, может быть достаточно сложно. Помочь вам может диаграмма классов и интерфейсов, которая есть в вашем руководстве.
Приведенная ниже таблица описывает некоторые полезные интерфейсы в API обработчика тэга:
Интерфейс |
Описание |
Когда использовать |
Tag |
Основной обработчик Тэга, от которого должны наследоваться все другие классы и интерфейсы |
Используйте это, если хотите реализовать специфическое поведение для каждого метода, или если ваш обработчик тэга должен наследоваться от другого класса. В последнем случае, этот класс наследуется не напрямую, а через один из классов, которые его реализуют, например TagSupport.. |
IterationTag |
Определяет механизм цикла для тэга путем добавления метода doAfterBody() к интерфейсу Tag. |
Используйте это, если не хотите использовать интерфейс Tag, но вам требуется, чтобы ваш тэг был итеративный. В противном случае используйте его через один из классов-реализаций, например BodyTagSupport. |
BodyTag |
Определяет механизм для обработки содержимого тела тэга путем добавления методов setBodyContent( ) и doInitBody( ) к интерфейсу Tag. |
Используйте это, если вы хотите использовать интерфейс Tag, но вашему тэгу необходимо обрабатывать каким-либо образом содержимое своего тела. В противном случае используйте его через класс BodyTagSupport. |
TryCatchFinally |
Позволяет реализатору создать код обработки исключения, который перехватывает любое исключение, выбрасываемое в обработчике. |
Используйте это, если вам необходимо специфическое поведение (особенно при использовании finally) или если вам нужно, чтобы исключения не отображались в окне клиентского web браузера. |
Эта таблица описывает некоторые полезные классы в API обработчика тэгов:
Класс |
Описание |
Когда использовать |
TagSupport |
Простой класс, который реализует интерфейсы Tag и IterationTag и предоставляет полезное поведение по умолчанию для создания основных или итеративных тэгов. |
Используйте это, если хотите реализовать минимальный тэг или итеративный тэг, не делая много работы и вам не нужен класс обработчика для реализации других интерфейсов. |
BodyTagSupport |
Простой класс, который расширяет класс TagSupport и определяет поведение для обработки содержимого тела, реализуя интерфейс BodyTag. |
Используйте это, если хотите реализовать тэг или итеративный тэг, который управляет содержимым своего тела, и вам не нужен обработчик тэга, реализующий никакой другой интерфейс. |
Как только вы выбрали подходящий класс, с помощью которого будете реализовывать свой обработчик тэга, вам необходимо будет работать с классами-компаньонами из API.
Эта таблица описывает два класса-компаньона наиболее часто используемых обработчиками тэга.
Класс |
Описание |
Когда использовать |
BodyContent |
Класс, который инкапсулирует содержимое тела тэга и позволяет управлять им. |
Вам будет необходимо использовать этот класс, когда вы будете манипулировать содержимым тела вашего тэга. |
PageContext |
Класс, который позволяет хранить и получать доступ к атрибутам JSP страницы. Экземпляр этого класса, к которому вы получаете доступ в обработчике тэга, является тем же самым, который доступен через JSP страницу. |
Используйте этот класс для создания атрибутов и bean'ов, доступных в JSP странице. |
Некоторые Дополнительные Особенности Tag'а