В этой главе мы обсудим Директивы в JSP. Эти директивы предоставляют указания и инструкции контейнеру, рассказывая ему, как обрабатывать определенные аспекты обработки JSP.
Директива JSP влияет на общую структуру класса сервлета. Это обычно имеет следующую форму —
<%@ directive attribute = "value" %>
Директивы могут иметь ряд атрибутов, которые вы можете перечислить в виде пар ключ-значение и разделить запятыми.
Пробелы между символом @ и именем директивы, а также между последним атрибутом и закрывающим%> необязательны.
Существует три типа директив тега —
| S.No. | Директива и описание | 
|---|---|
| 1 | 
 <% @ page …%> Определяет зависящие от страницы атрибуты, такие как язык сценариев, страница ошибок и требования к буферизации.  | 
| 2 | 
 <% @ include …%> Включает файл на этапе перевода.  | 
| 3 | 
 <% @ taglib …%> Объявляет библиотеку тегов, содержащую пользовательские действия, используемые на странице  | 
<% @ page …%>
Определяет зависящие от страницы атрибуты, такие как язык сценариев, страница ошибок и требования к буферизации.
<% @ include …%>
Включает файл на этапе перевода.
<% @ taglib …%>
Объявляет библиотеку тегов, содержащую пользовательские действия, используемые на странице
JSP — страница директивы
Директива страницы используется для предоставления инструкций контейнеру. Эти инструкции относятся к текущей странице JSP. Вы можете кодировать директивы страницы в любом месте вашей страницы JSP. По соглашению, директивы страницы кодируются в верхней части страницы JSP.
Ниже приведен основной синтаксис директивы страницы:
<%@ page attribute = "value" %>
Вы можете написать XML-эквивалент вышеуказанного синтаксиса следующим образом:
<jsp:directive.page attribute = "value" />
Атрибуты
В следующей таблице перечислены атрибуты, связанные с директивой страницы —
| S.No. | Атрибут и цель | 
|---|---|
| 1 | 
 буфер Определяет модель буферизации для выходного потока.  | 
| 2 | 
 AutoFlush Управляет поведением выходного буфера сервлета.  | 
| 3 | 
 Тип содержимого Определяет схему кодировки символов.  | 
| 4 | 
 errorPage Определяет URL другого JSP, который сообщает о непроверенных исключениях времени выполнения Java.  | 
| 5 | 
 isErrorPage Указывает, является ли эта страница JSP URL-адресом, указанным атрибутом errorPage другой страницы JSP.  | 
| 6 | 
 продолжается Определяет суперкласс, который должен расширять сгенерированный сервлет.  | 
| 7 | 
 Импортировать Задает список пакетов или классов для использования в JSP, как это делает оператор импорта Java для классов Java.  | 
| 8 | 
 Информация Определяет строку, к которой можно получить доступ с помощью метода getServletInfo () сервлета.  | 
| 9 | 
 isThreadSafe Определяет модель потоков для сгенерированного сервлета.  | 
| 10 | 
 язык Определяет язык программирования, используемый на странице JSP.  | 
| 11 | 
 сессия Указывает, участвует ли страница JSP в сеансах HTTP  | 
| 12 | 
 isELIgnored Указывает, будет ли игнорироваться выражение EL на странице JSP.  | 
| 13 | 
 isScriptingEnabled Определяет, разрешено ли использование элементов сценария.  | 
буфер
Определяет модель буферизации для выходного потока.
AutoFlush
Управляет поведением выходного буфера сервлета.
Тип содержимого
Определяет схему кодировки символов.
errorPage
Определяет URL другого JSP, который сообщает о непроверенных исключениях времени выполнения Java.
isErrorPage
Указывает, является ли эта страница JSP URL-адресом, указанным атрибутом errorPage другой страницы JSP.
продолжается
Определяет суперкласс, который должен расширять сгенерированный сервлет.
Импортировать
Задает список пакетов или классов для использования в JSP, как это делает оператор импорта Java для классов Java.
Информация
Определяет строку, к которой можно получить доступ с помощью метода getServletInfo () сервлета.
isThreadSafe
Определяет модель потоков для сгенерированного сервлета.
язык
Определяет язык программирования, используемый на странице JSP.
сессия
Указывает, участвует ли страница JSP в сеансах HTTP
isELIgnored
Указывает, будет ли игнорироваться выражение EL на странице JSP.
isScriptingEnabled
Определяет, разрешено ли использование элементов сценария.
Проверьте подробности, относящиеся ко всем вышеперечисленным атрибутам, в Директиве страницы .
Директива включения
Директива include используется для включения файла на этапе перевода. Эта директива указывает контейнеру объединять содержимое других внешних файлов с текущим JSP на этапе трансляции. Вы можете кодировать директивы включения в любом месте вашей страницы JSP.
Общая форма использования этой директивы следующая:
<%@ include file = "relative url" >
Имя файла в директиве include на самом деле является относительным URL. Если вы просто указываете имя файла без ассоциированного пути, компилятор JSP предполагает, что файл находится в том же каталоге, что и ваш JSP.
Вы можете написать XML-эквивалент вышеуказанного синтаксиса следующим образом:
<jsp:directive.include file = "relative url" />
Для более подробной информации, связанной с директивой включения, проверьте Директиву включения .
Директива taglib
API страниц JavaServer позволяет определять пользовательские теги JSP, которые выглядят как теги HTML или XML, а библиотека тегов представляет собой набор пользовательских тегов, которые реализуют настраиваемое поведение.
Директива taglib объявляет, что ваша страница JSP использует набор настраиваемых тегов, определяет местоположение библиотеки и предоставляет средства для идентификации настраиваемых тегов на вашей странице JSP.
Директива taglib соответствует синтаксису, приведенному ниже —
<%@ taglib uri="uri" prefix = "prefixOfTag" >
Здесь значение атрибута uri разрешается в местоположение, которое понимает контейнер, а атрибут prefix сообщает контейнеру, какие биты разметки являются настраиваемыми действиями.
Вы можете написать XML-эквивалент вышеуказанного синтаксиса следующим образом:
<jsp:directive.taglib uri = "uri" prefix = "prefixOfTag" />
Для более подробной информации, связанной с директивой taglib, посмотрите директиву Taglib.