Теперь, когда вы понимаете как создавать и разворачивать библиотеки тэга, вы можете быть счастливы, обнаружив, что вы не можете создавать сои собственные библиотеки. Как и при разработки библиотек любого другого типа, всегда будет время, когда вы будете вынуждены писать свой собственный код, но уже существуют огромные и очень мощные библиотеки, готовые для использования, и вы всегда должны сначала убедиться, что вы не изобретаете колесо, когда погружаетесь в новую разработку.
Существующий JCP (Java Community Process) во время создания опубликовал первое приближение публичной Стандартной Библиотеки Тэгов JSP, JSTL, в которой определено огромное количество мощных тэгов различного назначения. Эта библиотека предоставляет стандартизированное решение для некоторых, наиболее часто встречающихся проблем с точки зрения разработчика, и будут рассмотрены обзорно.
Группа разработчиков Apache Jakarta имеет другую огромную коллекцию очень полезных тэгов, распространяемых свободно для разработчиков, которые сгруппированы под одним проектом "taglibs" и имеют то же самое назначение, что и JSTL. Хотя существует некоторая общая функциональность между двумя библиотеками, эта группа имеет более близкие отношения с JCP и, соответственно, производит превосходный Java продукт с открытым исходным кодом уже несколько лет. За проектами Jakarta всегда стоит следить.
Детальное рассмотрение этой библиотеки выходит за пределы интересов этой главы, но давайте взглянем на некоторые избранные популярные тэги, имеющиеся в библиотеке.
Вот несколько библиотечных тэгов, доступных в проекте Jakarta "taglibs", которые должны вам дать идею о том, какого рода вещи вы можете ожидать от библиотеки тэга.
Имя из TagLibrary
Функция
Пример Тэга
Application
Позволяет пользователю получать доступ к информации о JSP приложении
existsAttribute - проверяет, существует ли атрибут
DateTime
Позволяет пользователю обрабатывать дату и время, используя локализацию и временную зону
currentTime - текущее время в миллисекундах.
DBTags
Позволяет пользователю выполнять SQL запросы
query - SQL запрос, встроенный в выражение для тэга.
I18N
Предоставляет функциональность для интернационализации
bundle - определяет ресурс пакета
Input
Предоставляет утилиты для приема ввода от пользователя
textarea - отображает многострочную область текста
IO
Предоставляет различные операции ввода и вывода
request - позволяет вам вставлять результат в HTTP запрос
JNDI
Предоставляет тэги для соединения с Java Naming и Directory interface
useDirContext - - создает объект DirContextObject
Log
Предоставляет тэги для облегчения логирования с помощью библиотеки log4j
debug - отображает сообщения уровня отладки
Mailer
Предоставляет тэги для использования библиотеки JavaMail из JSP
setrecipient - позволяет указание приемщика почтового сообщения
Page
Предоставляет тэги для доступа к контексту JSP страницы
attributes - выполняет циклический просмотр всех атрибутов страницы.
Regexp
Предоставляет тэги для Регулярных Выражений
regexp - создает скриптовую переменную из регулярного выражения.
Session
Предоставляет тэги для чтения или изменения информации о клиентской HttpSession
isNew - булевский тэг, отображает, является ли сессия новой
String
Предоставляет тэги для манипулирования строками
upperCase - конвертирует строку в верхний регистр.
Xtags
Предоставляет тэги для работы с XML.
style - Выполняет XML преобразование данного XML документа.