В этой главе мы поймем различные теги в JSP. Стандартная библиотека тегов JavaServer Pages (JSTL) представляет собой набор полезных тегов JSP, которые включают основные функциональные возможности, общие для многих приложений JSP.
JSTL поддерживает общие структурные задачи, такие как итерация и условные выражения, теги для манипулирования документами XML, теги интернационализации и теги SQL. Он также предоставляет платформу для интеграции существующих пользовательских тегов с тегами JSTL.
Установить библиотеку JSTL
Чтобы начать работать с JSP-тегами, вам необходимо сначала установить библиотеку JSTL. Если вы используете контейнер Apache Tomcat, выполните следующие два шага:
Шаг 1 — Загрузите бинарный дистрибутив из Apache Standard Taglib и распакуйте сжатый файл.
Шаг 2. Чтобы использовать Standard Taglib из своего дистрибутива Jakarta Taglibs , просто скопируйте JAR-файлы из каталога lib в дистрибутиве в каталог webapps \ ROOT \ WEB-INF \ lib вашего приложения.
Чтобы использовать любую из библиотек, вы должны включить директиву <taglib> в верхней части каждой JSP, которая использует библиотеку.
Классификация тегов JSTL
По своим функциям теги JSTL можно классифицировать по следующим группам библиотек тегов JSTL, которые можно использовать при создании страницы JSP:
-
Основные теги
-
Форматирование тегов
-
Теги SQL
-
Теги XML
-
Функции JSTL
Основные теги
Форматирование тегов
Теги SQL
Теги XML
Функции JSTL
Основные теги
Основная группа тегов — это наиболее часто используемые теги JSTL. Ниже приведен синтаксис для включения библиотеки JSTL Core в ваш JSP —
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
В следующей таблице перечислены основные теги JSTL —
S.No. | Тег и описание |
---|---|
1 | <с: из>
Как <% = …>, но для выражений. |
2 | <c: set>
Устанавливает результат вычисления выражения в область видимости. |
3 | <c: удалить>
Удаляет переменную области действия (из определенной области, если она указана). |
4 | <с: улов>
Ловит любой Throwable, который происходит в его теле и, возможно, подвергает его. |
5 | <с: если>
Простой условный тег, который вычисляет свое тело, если предоставленное условие истинно. |
6 | <с: выбрать>
Простой условный тег, который устанавливает контекст для взаимоисключающих условных операций, помеченных <когда> и <в противном случае> . |
7 | <с: когда>
Подтег тега <выбрать>, который включает его тело, если его условие принимает значение «истина» . |
8 | <c: иначе>
Подтег тега <выбрать>, который следует за тегами <когда> и выполняется, только если все предыдущие условия оцениваются как «ложные» . |
9 | <с: импорт>
Извлекает абсолютный или относительный URL-адрес и предоставляет его содержимое либо странице, либо String в «var» , либо Reader в «varReader» . |
10 | <c: forEach>
Базовый тег итерации, принимающий множество различных типов коллекций и поддерживающий поднаборы и другие функции. |
11 | <с: forTokens>
Перебирает токены, разделенные предоставленными разделителями. |
12 | <с: PARAM>
Добавляет параметр в URL-адрес содержащего тега import . |
13 | <c: redirect>
Перенаправляет на новый URL. |
14 | <с: URL>
Создает URL с необязательными параметрами запроса |
Как <% = …>, но для выражений.
Устанавливает результат вычисления выражения в область видимости.
Удаляет переменную области действия (из определенной области, если она указана).
Ловит любой Throwable, который происходит в его теле и, возможно, подвергает его.
Простой условный тег, который вычисляет свое тело, если предоставленное условие истинно.
Простой условный тег, который устанавливает контекст для взаимоисключающих условных операций, помеченных <когда> и <в противном случае> .
Подтег тега <выбрать>, который включает его тело, если его условие принимает значение «истина» .
Подтег тега <выбрать>, который следует за тегами <когда> и выполняется, только если все предыдущие условия оцениваются как «ложные» .
Извлекает абсолютный или относительный URL-адрес и предоставляет его содержимое либо странице, либо String в «var» , либо Reader в «varReader» .
Базовый тег итерации, принимающий множество различных типов коллекций и поддерживающий поднаборы и другие функции.
Перебирает токены, разделенные предоставленными разделителями.
Добавляет параметр в URL-адрес содержащего тега import .
Перенаправляет на новый URL.
Создает URL с необязательными параметрами запроса
Форматирование тегов
Теги форматирования JSTL используются для форматирования и отображения текста, даты, времени и чисел для интернационализированных веб-сайтов. Ниже приведен синтаксис для включения библиотеки форматирования в ваш JSP —
<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
В следующей таблице перечислены форматирование тегов JSTL —
S.No. | Тег и описание |
---|---|
1 | <FMT: FormatNumber>
Для визуализации числового значения с определенной точностью или форматом. |
2 | <FMT: parseNumber>
Анализирует строковое представление числа, валюты или процента. |
3 | <FMT: FormatDate>
Форматирует дату и / или время, используя предоставленные стили и шаблон. |
4 | <FMT: parseDate>
Разбирает строковое представление даты и / или времени |
5 | <FMT: расслоение>
Загружает пакет ресурсов, который будет использоваться его телом тега. |
6 | <FMT: Setlocale>
Сохраняет данную локаль в переменной конфигурации локали. |
7 | <FMT: setBundle>
Загружает пакет ресурсов и сохраняет его в именованной переменной области действия или в переменной конфигурации пакета. |
8 | <FMT: TIMEZONE>
Определяет часовой пояс для любых операций форматирования или анализа времени, вложенных в его тело. |
9 | <FMT: setTimeZone>
Сохраняет данный часовой пояс в переменной конфигурации часового пояса |
10 | <FMT: сообщение>
Отображает интернационализированное сообщение. |
11 | <FMT: requestEncoding>
Устанавливает кодировку символа запроса |
Для визуализации числового значения с определенной точностью или форматом.
Анализирует строковое представление числа, валюты или процента.
Форматирует дату и / или время, используя предоставленные стили и шаблон.
Разбирает строковое представление даты и / или времени
Загружает пакет ресурсов, который будет использоваться его телом тега.
Сохраняет данную локаль в переменной конфигурации локали.
Загружает пакет ресурсов и сохраняет его в именованной переменной области действия или в переменной конфигурации пакета.
Определяет часовой пояс для любых операций форматирования или анализа времени, вложенных в его тело.
Сохраняет данный часовой пояс в переменной конфигурации часового пояса
Отображает интернационализированное сообщение.
Устанавливает кодировку символа запроса
Теги SQL
Библиотека тегов SQL JSTL предоставляет теги для взаимодействия с реляционными базами данных (RDBMS), такими как Oracle, mySQL или Microsoft SQL Server .
Ниже приведен синтаксис для включения библиотеки JSTL SQL в ваш JSP —
<%@ taglib prefix = "sql" uri = "http://java.sun.com/jsp/jstl/sql" %>
В следующей таблице перечислены теги SQL JSTL.
S.No. | Тег и описание |
---|---|
1 | <SQL: setDataSource>
Создает простой источник данных, подходящий только для прототипирования |
2 | <SQL: запрос>
Выполняет SQL-запрос, определенный в его теле или через атрибут sql. |
3 | <SQL: обновление>
Выполняет обновление SQL, определенное в его теле или через атрибут sql. |
4 | <SQL: PARAM>
Устанавливает параметр в операторе SQL на указанное значение. |
5 | <SQL: dateParam>
Устанавливает параметр в операторе SQL в указанное значение java.util.Date. |
6 | <sql: транзакция>
Предоставляет вложенные элементы действий базы данных с общим подключением, настроенным для выполнения всех операторов как одной транзакции. |
Создает простой источник данных, подходящий только для прототипирования
Выполняет SQL-запрос, определенный в его теле или через атрибут sql.
Выполняет обновление SQL, определенное в его теле или через атрибут sql.
Устанавливает параметр в операторе SQL на указанное значение.
Устанавливает параметр в операторе SQL в указанное значение java.util.Date.
Предоставляет вложенные элементы действий базы данных с общим подключением, настроенным для выполнения всех операторов как одной транзакции.
Теги XML
XML-теги JSTL обеспечивают JSP-ориентированный способ создания и управления XML-документами. Ниже приведен синтаксис для включения библиотеки JSTL XML в ваш JSP.
Библиотека тегов XML JSTL имеет пользовательские теги для взаимодействия с данными XML. Это включает в себя анализ XML, преобразование данных XML и управление потоком на основе выражений XPath.
<%@ taglib prefix = "x" uri = "http://java.sun.com/jsp/jstl/xml" %>
Прежде чем приступить к примерам, вам нужно будет скопировать следующие две библиотеки, связанные с XML и XPath, в ваш <каталог установки Tomcat> \ lib —
-
XercesImpl.jar — загрузите его с https://www.apache.org/dist/xerces/j/
-
xalan.jar — загрузите его с https://xml.apache.org/xalan-j/index.html
XercesImpl.jar — загрузите его с https://www.apache.org/dist/xerces/j/
xalan.jar — загрузите его с https://xml.apache.org/xalan-j/index.html
Ниже приведен список тегов XML JSTL —
S.No. | Тег и описание |
---|---|
1 | <х: из>
Как <% = …>, но для выражений XPath. |
2 | <х: синтаксический>
Используется для анализа данных XML, указанных либо через атрибут, либо в теле тега. |
3 | <x: set>
Устанавливает переменную в значение выражения XPath. |
4 | <x: if>
Оценивает тестовое выражение XPath и, если оно истинно, обрабатывает его тело. Если условие проверки ложно, тело игнорируется. |
5 | <х: Foreach>
Зацикливать узлы в XML-документе. |
6 | <х: выбрать>
Простой условный тег, который устанавливает контекст для взаимоисключающих условных операций, помеченных тегами <when> и <else> . |
7 | <х: когда>
Подтег тега <выбрать>, который включает его тело, если его выражение равно ‘true’. |
8 | <x: в противном случае>
Подтег тега <выбрать>, который следует за тегами <когда> и выполняется, только если все предыдущие условия оцениваются как «ложные». |
9 | <x: transform>
Применяет XSL-преобразование к XML-документу. |
10 | <x: param>
Используется вместе с тегом transform для установки параметра в таблице стилей XSLT |
Как <% = …>, но для выражений XPath.
Используется для анализа данных XML, указанных либо через атрибут, либо в теле тега.
Устанавливает переменную в значение выражения XPath.
Оценивает тестовое выражение XPath и, если оно истинно, обрабатывает его тело. Если условие проверки ложно, тело игнорируется.
Зацикливать узлы в XML-документе.
Простой условный тег, который устанавливает контекст для взаимоисключающих условных операций, помеченных тегами <when> и <else> .
Подтег тега <выбрать>, который включает его тело, если его выражение равно ‘true’.
Подтег тега <выбрать>, который следует за тегами <когда> и выполняется, только если все предыдущие условия оцениваются как «ложные».
Применяет XSL-преобразование к XML-документу.
Используется вместе с тегом transform для установки параметра в таблице стилей XSLT
Функции JSTL
JSTL включает в себя ряд стандартных функций, большинство из которых являются общими функциями для работы со строками. Ниже приведен синтаксис для включения библиотеки функций JSTL в ваш JSP —
<%@ taglib prefix = "fn" uri = "http://java.sun.com/jsp/jstl/functions" %>
В следующей таблице перечислены различные функции JSTL —
Проверяет, содержит ли входная строка указанную подстроку.
Проверяет, содержит ли входная строка указанную подстроку без учета регистра.
Проверяет, заканчивается ли входная строка указанным суффиксом.
Экранирует символы, которые можно интерпретировать как разметку XML.
Возвращает индекс со строкой первого вхождения указанной подстроки.
Объединяет все элементы массива в строку.
Возвращает количество элементов в коллекции или количество символов в строке.
Возвращает строку, полученную в результате замены во входной строке всех вхождений данной строкой.
Разбивает строку на массив подстрок.
Проверяет, начинается ли входная строка с указанного префикса.
Возвращает подмножество строки.
Возвращает подмножество строки после определенной подстроки.
Возвращает подмножество строки перед определенной подстрокой.
Преобразует все символы строки в нижний регистр.
Преобразует все символы строки в верхний регистр.
Удаляет пробелы с обоих концов строки.