В этой главе мы обсудим Директивы в 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.