Читать «Java 7 (Наиболее полное руководство)» онлайн - страница 445

Ильдар Шаукатович Хабибуллин

Например:

<c:forEach var="item" items="${sessionScope.cart.items}">

<td>

${item.quantity}

</ td>

</c:forEach>

Вторая форма тега <c:forEach> создает цикл с перечислением, в котором переменная цикла, определяемая атрибутом var, пробегает от начального значения, задаваемого значением атрибута begin, до конечного значения, задаваемого значением атрибута end, с шагом — значением атрибута step. Например:

<c:forEach var="k" begin="0" step="1" end="${n}" >

<td>

${^-й столбец

</ td>

</c:forEach>

Тег <c:forTokens> разбивает строку символов, заданную атрибутом items, на слова подобно классу StringTokenizer, рассмотренному в главе 5. Разделители слов перечисляются в атрибуте delims. Текущее слово заносится в переменную, определенную атрибутом var. Например:

<c:forTokens var="word" items="${text}" delims=" \n\r\t:;,.?!">

<c:out value="${word}"/>

</c:forTokens>

Тег <c:import> включает на страницу JSP ресурсы по их адресу URL. Например:

<c:import url="/html/intro.html" var="intro" scope="session" charEncoding="windows-1251"

/>

Переменную, определенную атрибутом var, можно использовать в своей области действия, определенной атрибутом scope (по умолчанию, page). Атрибут charEncoding показывает кодировку символов включаемого ресурса. По умолчанию это кодировка ISO 8859-1, которая плохо подходит для кириллицы.

Тег <c:redirect> прекращает обработку страницы и посылает HTTP-ответ redirect клиенту с указанием адреса, записанного в атрибуте url. Браузер клиента сделает новый запрос по этому адресу. В соответствующем сервлете метод doEndTag() возвращает константу SKIP_PAGE. Например:

<c:redirect url="/books/list.html" context="/lib" />

Необязательный атрибут context устанавливает контекст для нового запроса.

В тег <c:redirect>, как и в тег <c:url>, можно вложить теги <c:param>, задающие параметры нового запроса.

Библиотека xml

Библиотека xml, описываемая тегом

<%@ taglib uri="" prefix="x" %>

содержит теги <x:out>, <x:set>, <x:forEach>, <x:if>, <x:choose>, <x:when>, <x:otherwise>, аналогичные соответствующим тегам библиотеки core, но выбирающие нужный элемент XML из интерпретируемого документа атрибутом select, а также теги <x:parse> и <x: trans form>, интерпретирующие и преобразующие документ XML.

Работа с библиотекой xml основана на адресации элементов документа XML средствами языка XPath, что выходит за рамки нашей книги.

Библиотека fmt

Библиотека fmt содержит теги, помогающие в интернационализации страниц JSP. Она описывается так:

<%@ taglib uri="" prefix="fmt" %>

В нее входят теги <fmt:setLocale>, <fmt:timeZone>, <fmt:formatDate>, <fmt:parseDate>, <fmt: formatNumber>, <fmt:parseNumber> и другие теги, делающие локальные установки.