Теги <c:forEach>, <c:forTokens>

JSP 标准标签库Стандартная библиотека тегов JSP

Эти теги инкапсулируют циклы for, while и do-while в Java.

Для сравнения, тег <c:forEach> является более универсальным тегом, поскольку он перебирает объекты в коллекции.

Тег <c:forTokens> разбивает строку на массив с помощью указанного разделителя, а затем перебирает их.


Формат синтаксиса forEach

<c:forEach
    items="<object>"
    begin="<int>"
    end="<int>"
    step="<int>"
    var="<string>"
    varStatus="<string>">

    ...

Формат синтаксиса forTokens

<c:forTokens
    items="<string>"
    delims="<string>"
    begin="<int>"
    end="<int>"
    step="<int>"
    var="<string>"
    varStatus="<string>">

Атрибуты

Тег <c:forEach> имеет следующие атрибуты:

Attribute Описание Обязательно? Значение по умолчанию
items Элементы для итерации нет Отсутствует
begin Начальный элемент (0=первый элемент, 1=второй элемент) нет 0
end Последний элемент (0=первый элемент, 1=второй элемент) нет Последний элемент
шаг Размер шага для каждой итерации нет 1
var Имя переменной, представляющей текущий элемент нет Отсутствует
varStatus Имя переменной, представляющей состояние цикла нет Отсутствует

Тег <c:forTokens> имеет атрибуты, аналогичные тегу <c:forEach>, но у <c:forTokens> есть ещё один атрибут:

Attribute Описание Обязательно? Значение по умолчанию
delims Разделитель Да Отсутствует

Пример <c:forEach>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>c:forEach 标签实例</title>
</head>
<body>
<c:forEach var="i" begin="1" end="5">
   Item <c:out value="${i}"/><p>
</c:forEach>
</body>
</html>

Вывод следующий:

Item 1
Item 2
Item 3
Item 4
Item 5

Пример <c:forTokens>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>c:forTokens 标签实例</title>
</head>
<body>
<c:forTokens items="google,example,taobao" delims="," var="name">
   <c:out value="${name}"/><p>
</c:forTokens>
</body>
</html>

Вывод следующий:

google
example
taobao

JSP 标准标签库Стандартная библиотека тегов JSP

Другие расширения