JSP - Руководство по стандартной библиотеке тегов (JSTL)

В этой главе мы разберемся с различными тегами в JSP. Стандартная библиотека тегов JavaServer Pages (JSTL) - это набор полезных тегов JSP, которые инкапсулируют основные функции, общие для многих приложений JSP.

JSTL поддерживает общие структурные задачи, такие как итерация и условные выражения, теги для управления XML-документами, теги интернационализации и теги SQL. Он также обеспечивает основу для интеграции существующих пользовательских тегов с тегами JSTL.

Установить библиотеку JSTL

Чтобы начать работу с тегами JSP, вам необходимо сначала установить библиотеку JSTL. Если вы используете контейнер Apache Tomcat, выполните следующие два шага:

Step 1- Загрузите бинарный дистрибутив из Apache Standard Taglib и распакуйте сжатый файл.

Step 2 - Чтобы использовать стандартный Taglib из его Jakarta Taglibs distributionпросто скопируйте файлы JAR из каталога lib дистрибутива в каталог вашего приложения. webapps\ROOT\WEB-INF\lib каталог.

Чтобы использовать любую из библиотек, вы должны включить директиву <taglib> в верхней части каждой JSP, использующей библиотеку.

Классификация тегов JSTL

Теги JSTL можно классифицировать в соответствии с их функциями в следующие группы библиотек тегов JSTL, которые можно использовать при создании страницы JSP:

  • Core Tags

  • Formatting tags

  • SQL tags

  • XML tags

  • JSTL Functions

Основные теги

Основная группа тегов - это наиболее часто используемые теги JSTL. Ниже приведен синтаксис для включения библиотеки JSTL Core в ваш JSP.

<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>

В следующей таблице перечислены основные теги JSTL.

S.No. Тег и описание
1

Как <% = ...>, но для выражений.

2

Устанавливает результат вычисления выражения в 'scope'

3

Удаляет scoped variable (из определенной области, если указано).

4

Ловит любой Throwable что происходит в его теле и необязательно обнажает его.

5

Простой условный тег, который вычисляет свое тело, если предоставленное условие истинно.

6

Простой условный тег, который устанавливает контекст для взаимоисключающих условных операций, отмеченных <when> и <otherwise>.

7

Подтег <choose> который включает его тело, если его состояние оценивается как 'true'.

8

Подтег <choose> что следует за <when> теги и запускается только в том случае, если все предыдущие условия оцениваются как 'false'.

9

Извлекает абсолютный или относительный URL-адрес и предоставляет его содержимое либо странице, либо String в 'var', или читатель в 'varReader'.

10

Базовый тег итерации, принимающий множество различных типов коллекций и поддерживающий подмножество и другие функции.

11

Обходит токены, разделенные указанными разделителями.

12

Добавляет параметр в содержащий 'import' URL тега.

13

Перенаправляет на новый URL.

14

Создает URL-адрес с необязательными параметрами запроса

Теги форматирования

Теги форматирования JSTL используются для форматирования и отображения текста, даты, времени и чисел для интернационализированных веб-сайтов. Ниже приведен синтаксис для включения библиотеки форматирования в ваш JSP.

<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>

В следующей таблице перечислены теги форматирования JSTL -

S.No. Тег и описание
1

Для отображения числового значения с определенной точностью или форматом.

2

Анализирует строковое представление числа, валюты или процента.

3

Форматирует дату и / или время, используя предоставленные стили и шаблон.

4

Анализирует строковое представление даты и / или времени

5

Загружает пакет ресурсов для использования его телом тега.

6

Сохраняет данный языковой стандарт в переменной конфигурации языкового стандарта.

7

Загружает пакет ресурсов и сохраняет его в переменной с именованной областью или в переменной конфигурации пакета.

8

Задает часовой пояс для любых вложенных в его тело действий форматирования или анализа времени.

9

Сохраняет данный часовой пояс в переменной конфигурации часового пояса

10

Отображает интернационализированное сообщение.

11

Устанавливает кодировку символов запроса

Теги SQL

Библиотека тегов JSTL SQL предоставляет теги для взаимодействия с реляционными базами данных (СУБД), такими как Oracle, mySQL, или же Microsoft SQL Server.

Ниже приведен синтаксис для включения библиотеки JSTL SQL в ваш JSP.

<%@ taglib prefix = "sql" uri = "http://java.sun.com/jsp/jstl/sql" %>

В следующей таблице перечислены теги SQL JSTL.

S.No. Тег и описание
1

Создает простой DataSource, подходящий только для прототипирования

2

Выполняет SQL-запрос, определенный в его теле или через атрибут sql.

3

Выполняет обновление SQL, определенное в его теле или через атрибут sql.

4

Устанавливает для параметра в операторе SQL указанное значение.

5

Устанавливает параметр в операторе SQL на указанное значение java.util.Date.

6

Предоставляет вложенные элементы действий базы данных с общим подключением, настроенным для выполнения всех операторов как одной транзакции.

XML-теги

Теги JSTL XML обеспечивают ориентированный на 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 Installation Directory>\lib -

  • 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

Устанавливает переменную в значение выражения XPath.

4 <х: если>

Оценивает тестовое выражение XPath и, если оно истинно, обрабатывает его тело. Если условие проверки ложно, тело игнорируется.

5

Чтобы перебрать узлы в XML-документе.

6

Простой условный тег, который устанавливает контекст для взаимоисключающих условных операций, отмеченных <when> и <otherwise> теги.

7

Подтег <choose> это включает его тело, если его выражение оценивается как «истина».

8

Подтег <choose> что следует за <when> теги и выполняется, только если все предыдущие условия оцениваются как «ложные».

9

Применяет XSL-преобразование к XML-документу

10

Используется вместе с transform тег для установки параметра в таблице стилей XSLT

Функции JSTL

JSTL включает ряд стандартных функций, большинство из которых являются общими функциями обработки строк. Ниже приведен синтаксис для включения библиотеки функций JSTL в ваш JSP.

<%@ taglib prefix = "fn" 
   uri = "http://java.sun.com/jsp/jstl/functions" %>

В следующей таблице перечислены различные функции JSTL -

S.No. Описание функции
1 fn: содержит ()

Проверяет, содержит ли входная строка указанную подстроку.

2 fn: containsIgnoreCase ()

Проверяет, содержит ли входная строка указанную подстроку без учета регистра.

3 fn :ndsWith ()

Проверяет, заканчивается ли входная строка указанным суффиксом.

4 fn: escapeXml ()

Экранирует символы, которые можно интерпретировать как разметку XML.

5 fn: indexOf ()

Возвращает индекс в строке первого вхождения указанной подстроки.

6 fn: join ()

Объединяет все элементы массива в строку.

7 fn: длина ()

Возвращает количество элементов в коллекции или количество символов в строке.

8 fn: replace ()

Возвращает строку, полученную в результате замены во входной строке всех вхождений данной строки.

9 fn: split ()

Разбивает строку на массив подстрок.

10 fn: startWith ()

Проверяет, начинается ли входная строка с указанного префикса.

11 fn: substring ()

Возвращает подмножество строки.

12 fn: substringAfter ()

Возвращает подмножество строки, следующей за определенной подстрокой.

13 fn: substringBefore ()

Возвращает подмножество строки перед определенной подстрокой.

14 fn: toLowerCase ()

Преобразует все символы строки в нижний регистр.

15 fn: toUpperCase ()

Преобразует все символы строки в верхний регистр.

16 fn: trim ()

Удаляет пробелы с обоих концов строки.