Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
JAVA_Ekz_voprosy.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
717.82 Кб
Скачать
  1. Библиотека тегов. Назначение основные возможности. Структура jsp-страницы при применении библиотеки тегов.

Библиотеки тегов

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

Для того чтобы воспользоваться этой технологией необходимо выполнить следующее:

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

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

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

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

Изложенная здесь технология библиотеки тегов соответствует спецификации JSP 1.2. На сегодняшний день существует более поздняя версия – JSP 2.0.

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

Дескриптор библиотеки тегов представляет собой текстовый файл, выполненный в формате 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> с соответствующим описанием.

Применение библиотечных тегов

На рис. 4.18 приводится пример jsp-страницы, разработанной с применением tld-тегов: dossier, surname, lastname, submit.

Frame9

Тег <%@ taglib > описывает jsp-директиву taglib, которая указывает на месторасположение библиотеки тегов и устанавливает префикс (пространство имен) для tld-тегов. В нашем случае дескриптор библиотеки тегов должен находиться в корне директории WEB-INF приложения, а префикс имеет значение staff .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]