библиотека тегов JSTL
JSTL обычно считается одной библиотекой тегов. Но на самом деле JSTL имеет 4 библиотеки тегов. Эти библиотеки тегов суммируются следующим образом:
Базовая библиотека тегов — содержит некоторые необходимые теги для веб-приложений. Примеры базовой библиотеки тегов включают циклы, присваивание выражений, а также базовый ввод и вывод. .
Библиотека тегов форматирования/интернационализации. Содержит библиотеки тегов, используемые для анализа данных. Этот тег анализирует такие данные, как даты, различные места проведения и т. д.
Библиотека тегов базы данных — содержит теги, используемые для доступа к базам данных SQL. Эти теги обычно создают только прототипы программ. Это связано с тем, что большинство программ не поддерживают доступ к базе данных непосредственно со страницы JSP. Доступ к базе данных должен быть встроен в EJB, к которым могут обращаться страницы JSP.
Библиотека тегов XML — содержит теги, используемые для доступа к элементам XML. Поскольку XML широко используется в веб-разработке, обработка XML является важной функцией JSTL.
В этой статье мы дадим лишь краткое представление об основных тегах. Мы рассмотрим простой пример того, как обрабатывать данные, введенные пользователем в форму. Прежде чем мы начнем проверять программу, мы должны сначала посмотреть, как JSTL обрабатывает выражения. Обработка выражений в JSTL выполняется с использованием языка выражений EL, который можно использовать только в JSP2.0. В следующем разделе мы рассмотрим язык выражений EL.
язык выражений EL
Основным компонентом JSP 2.0 является новый язык выражений под названием EL. EL широко используется в JSTL. Однако важно помнить, что EL — это функция JSP, а не JSTL. Код сценария JSP, используемый в JSP 2.0, может содержать выражения EL. Следующая строка кода демонстрирует EL в коде скриптлета JSP:
<p>
Общая сумма, включая доставку, составляет ${total+shipping}.
</p>
Как видите, добавление суммы и доставки создает HTML и отображает их значения в браузере. Эти выражения также можно использовать в тегах JSTL. Важная проблема JSTL1.0 заключается в том, что JSTL нельзя использовать с версией JSP1.2. Поскольку JSP1.2 не поддерживает EL, необходимо предоставить некоторые дополнительные теги JSTL, чтобы облегчить использование EL. Например, если вы хотите отобразить приведенное выше выражение с помощью JSTL, вы можете использовать следующий код.
<р>
Общая сумма, включая доставку, составляет <c:out var="${total+shipping"/>.
</p>
Стоит отметить, что для работы JSTL не требуется JSP2.0. Это требование можно выполнить, предоставив метку, отображающую выражение EL.
Пример JSTL Мы рассмотрим простой пример использования JSTL. В этом примере мы рассмотрим общий процесс в веб-приложениях. Мы увидим, как отправить (POST) форму и обработать результаты POST. Код программы следующий:
<%@ taglib uri=" http://java.sun.com/jstl/core " prefix="c" %>
<html>
<голова>
<title>Если с телом</title>
</head>
<тело>
<c:if test="${pageContext.request.method=='POST'}">
<c:if test="${param.guess=='Java'}">Вы уже догадались!
<br />
<br />
<br />
</c:if>
<c:if test="${param.guess!='Java'}">Вы ошибаетесь
<br />
<br />
<br />
</c:if>
</c:if>
<form Method="post">Угадайте, какой компьютерный язык
Я думаю о?
<input type="text" name="guess" />
<input type="submit" value="Попробуйте!" />
<br/>
</форма>
</тело>
</html>
На этой простой веб-странице отображается форма, в которой пользователю предлагается угадать компьютерный язык, который имеет в виду программа. Конечно, компьютер думает «Java». Эта страница начинается с проверки «было ли оно отправлено». Это позволяет разместить форму и код, обрабатывающий форму, на одной странице. Это достигается с помощью следующего оператора JSTL if.
<c:if test="${pageContext.request.method=='POST'}">
Теперь вы видите, что тег <c:if> использует выражение EL, чтобы определить, является ли метод запроса POST. Если данные публикуются на странице, то предположение пользователя, введенное пользователем, будет сохранено в параметре под названием «гость». Это связано с тем, что «гость» — это имя ввода формы. Теперь нам нужно проверить, равен ли этот параметр «Java». Это достигается с помощью следующего тега <c:if>:
<c:if test="${param.guess=='Java'}">
Вы догадались!
</c:if>
Как видите, если выражение истинно, выполняется тело тега <c:if>. В этой статье мы начали изучать, как устанавливается и работает JSTL. Мы также предоставили несколько небольших примеров JSTL, чтобы помочь каждому понять.
Основные теги JSTL также включают циклы, итераторы и обработку переменных. Используя теги, вы можете перемещаться по коллекциям, получать доступ к данным сеанса пользователя, выполнять другие основные задачи и многое другое. В дополнение к основной библиотеке тегов XML, библиотеки тегов базы данных и форматирования также обеспечивают более расширенное использование.
(Конец)
Примечание. Язык выражений EL здесь переведен на язык выражений EL, а некоторые переведены на язык выражений EL, что означает то же самое.
Перевод Caiyi0903(Willpower), 2004.2.19