English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Стандартная библиотека тегов JSP (JSTL)

JSP стандартная библиотека тегов (JSTL) является集合ом тегов JSP, который封装了 основные функции ядра приложений JSP.

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

В зависимости от функций, предоставляемых тегами JSTL, их можно разделить на 5 категорий.

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

  • Форматировочные теги

  • Теги SQL

  • Теги XML

  • Функции JSTL

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

Шаги по установке библиотеки JSTL в Apache Tomcat:

Бинaries, загруженные из стандартной библиотеки тегов Apache (jakarta-taglibs-standard-current.zip).

загрузите jakarta-taglibs-standard-1.1.2.zip пакет и распакуйте его, затем скопируйте jakarta-taglibs-standard-1.1.2/lib/ из папкиstandard.jar и jstl.jar Копировать файл в /WEB-INF/lib/ .

Скопируйте необходимые файлы tld из папки tld в директорию WEB-INF.

Затем мы добавим следующую конфигурацию в файл web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <jsp-config>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
    <taglib-location>/WEB-INF/fmt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/fmt-rt</taglib-uri>
    <taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/core-rt</taglib-uri>
    <taglib-location>/WEB-INF/c-rt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/sql</taglib-uri>
    <taglib-location>/WEB-INF/sql.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/sql-rt</taglib-uri>
    <taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/x</taglib-uri>
    <taglib-location>/WEB-INF/x.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/x-rt</taglib-uri>
    <taglib-location>/WEB-INF/x-rt.tld</taglib-location>
    </taglib>
    </jsp-config>
</web-app>

Используя любую библиотеку, вы должны включить тег <taglib> в заголовке каждого файла JSP.

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

Основные теги являются наиболее часто используемыми тегами JSTL. Грамматика для использования основной библиотеки тегов следующая:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Тэг Описание
<c:out> Для отображения данных в JSP, как <%= ... >
<c:set> Для сохранения данных
<c:remove> Используется для удаления данных
<c:catch> Используется для обработки исключительных ситуаций, связанных с ошибками, и хранения информации об ошибках
<c:if> Как if, который мы используем в обычных программах
<c:choose> Себя он рассматривает только как родительский тег <c:when> и <c:otherwise>
<c:when> Подзаголовок <c:choose>, используемый для проверки условия
<c:otherwise> Подзаголовок <c:choose>, выполняющийся после тега <c:when>, когда <c:when> оценивается как false
<c:import> Извлечение абсолютного или относительного URL и暴露 его содержимого для страницы
<c:forEach> Базовый тег итерации, принимающий различные типы коллекций
<c:forTokens> Разделение содержимого по указанному разделителю и итеративный вывод
<c:param> Использование параметров для передачи данных на страницу, содержащую или перенаправляющую на нее
<c:redirect> Перенаправление на новый URL.
<c:url> Создание URL с использованием опциональных параметров запроса

Форматировочные теги

JSTL-тэгбиблиотека форматирования используется для форматирования и вывода текста, даты, времени, чисел. Синтаксис ссылок на библиотеку форматирования такой:

<%@ taglib prefix="fmt" 
           uri="http://java.sun.com/jsp/jstl/fmt" %>
Тэг Описание
<fmt:formatNumber> Форматирование чисел с использованием указанного формата или точности
<fmt:parseNumber> Анализ строки, представляющей число, валюту или процент
<fmt:formatDate> Форматирование даты и времени с использованием указанного стиля или шаблона
<fmt:parseDate> Анализ строки, представляющей дату или время
<fmt:bundle> Привязка ресурсов
<fmt:setLocale> Определение региона
<fmt:setBundle> Привязка ресурсов
<fmt:timeZone> Определение часового пояса
<fmt:setTimeZone> Определение часового пояса
<fmt:message> Отображение информации о конфигурации ресурсов
<fmt:requestEncoding> Настройка кодировки символов запроса

SQL-тэги

JSTL SQL-тэгбиблиотека предоставляет теги для взаимодействия с реляционными базами данных (Oracle, MySQL, SQL Server и т.д.). Синтаксис ссылок на библиотеку SQL-тэгов такой:

<%@ taglib prefix="sql" 
           uri="http://java.sun.com/jsp/jstl/sql" %>
Тэг Описание
<sql:setDataSource> Указание источника данных
<sql:query> Выполнение запроса SQL
<sql:update> Выполнение обновляющего предложения SQL
<sql:param> Установка параметра SQL в указанное значение
<sql:dateParam> Установка даты параметра SQL в значение объекта java.util.Date
<sql:transaction> Предоставляет элементы поведения базы данных в общей базе данных, выполняет все инструкции в виде одной транзакции

Теги XML

Библиотека тегов JSTL XML предоставляет теги для создания и обработки документов XML. Синтаксис ссылки на библиотеку тегов XML следующий:

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

Прежде чем использовать теги xml, вам нужно скопировать пакеты XML и XPath в папку <Tomcat Installation Directory>\lib:

Тэг Описание
<x:out> Подобно <%= ... >, но используется только для выражений XPath
<x:parse> Парсинг данных XML
<x:set> Установка выражения XPath
<x:if> Оценка выражения XPath, если истина, то выполняется содержимое, иначе пропускается
<x:forEach> Итерация узлов документа XML
<x:choose> Родительский знак <x:when> и <x:otherwise>
<x:when> Подзнак <x:choose>, используемый для условной проверки
<x:otherwise> Подзнак <x:choose>, выполняемый при false <x:when>
<x:transform> Применение преобразования XSL к документу XML
<x:param> Используются совместно с <x:transform>, для установки стиля таблицы стилей XSL

Функции JSTL

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

<%@ taglib prefix="fn" 
           uri="http://java.sun.com/jsp/jstl/functions" %>
Функция Описание
fn:contains() Тестирование строки на наличие заданного подстрочного
fn:containsIgnoreCase() Тестирование строки на наличие заданного подстрочного, без учета регистра
fn:endsWith() Тестирование строки на соответствие заданному суффиксу
fn:escapeXml() Пропуск символов, которые могут быть маркерами XML
fn:indexOf() Возврат位置的 заданной строки в строке ввода
fn:join() Слияние элементов массива в строку и вывод
fn:length() Возврат длины строки
fn:replace() Подмена заданного положения в строке на заданную строку и возврат
fn:split() Разделение строки на массив подстрок с заданным разделителем и возврат
fn:startsWith() Тестирование строки на соответствие заданному префиксу
fn:substring() Возврат подстроки строки
fn:substringAfter() Возврат подстроки после заданного подстрочного
fn:substringBefore() Возврат подстроки перед заданным подстрочным
fn:toLowerCase() Преобразование символов строки в нижний регистр
fn:toUpperCase() Преобразование символов строки в верхний регистр
fn:trim() Удаление пробелов в начале и в конце