Библиотека тегов. Назначение основные возможности. Структура JSP-страницы при применении библиотеки тегов

С точки зрения разработчика web-приложения библиотека тегов (Tag Library) – это технология позволяющая создавать собственные теги (будем их далее называть tdlтегами), которые потом можно использовать в jsp-страницах. Для того чтобы воспользоваться этой технологией необходимо выполнить следующее:

1) создать дескриптор библиотеки тегов (Tag library descriptor, TDL) и поместить его в директорий приложения;

2) создать обработчики тегов (Tag handler) – java-классы, генерирующие htmlтекст, замещающий tdl-теги, в выходном потоке jsp-страницы;

3) поместить на jsp-странице директиву taglib, указывающую на месторасположение дескриптора библиотеки тегов и задающую префикс (пространство имен) для имен tdl-тегов в данной странице;

4) 4) добавить tdl-теги в jsp-страницу.

Дескриптор библиотеки тегов

Дескриптор библиотеки тегов представляет собой текстовый файл, выполненный в формате XML. Он содержит описание библиотеки тегов и элементов библиотеки. Тег <taglib> открывает описание библиотеки, которое располагается до закрывающего тега </taglib>. Описание библиотеки состоит из пролога и описаний tld-тегов библиотеки.

Пролог содержит теги <taglib-version> для установки версии пользовательской библиотеки (в нашем случае установлена версия 1.0), <jsp-version> для указания применяемой спецификации JSP (в примере 1.2), <short-name> для символического обозначения (наименования) библиотеки (в примере – StaffTag) и <uri>, содержащего идентификатор ресурса библиотеки тегов (в примере – StaffTag.tld).

Описание каждого tld-тега библиотеки начинается с тега <tag> и заканчивается закрывающим тегом </tag>.

Для первого tld-тега с именем surname (указывается элементом name), используется класс-обработчик с именем stafftag.Surname.class (значение элемента tag-class). Этот tld-тег не содержит тела (значение EMPTY элемента body-content), но имеет один необязательный (значение false элемента required) атрибут с именем value (значение элемента name) строкового типа (значение java.lang.String элемента type).

Второй tld-тег с именем dossier допускает использование тела и имеет один обязательный атрибут action тоже строкового типа.

Если необходимо описать несколько атрибутов для tld-тега, то внутри тега <tag> необходимо поместить несколько тегов <attribute> с соответствующим описанием.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: