# JSTL＆lt; c：forEach＆gt;和＆lt; c：forTokens＆gt;核心标签

> 原文： [https://beginnersbook.com/2013/11/jstl-cforeach-and-cfortokens-core-tags/](https://beginnersbook.com/2013/11/jstl-cforeach-and-cfortokens-core-tags/)

c 为 C：的 forEach＆GT; JSTL 中的 tag 用于执行有限次数的同一组语句。它类似于 java 中的 for 循环。当我们需要一次又一次地执行（执行）一组语句指定的次数时，基本上使用它。

c 为 C：forTokens＆GT;也用于迭代，但它只适用于分隔符，这意味着使用此标记我们可以根据分隔符将输入数据分成多个部分。我们将在本文的一个例子的帮助下理解这一点。

## c 为 C：的 forEach＆GT;标签

#### ＆lt; c：forEach＆gt;的语法

```
<c:forEach var="counter_variable_name" begin="intial_value" end="final_limit">
    //Block of statements
</c:forEach>
```

以下是＆lt; c：forEach＆gt;的三个主要属性。标签。

**开始：**初始计数器值。
**结束：**循环执行的最终限制
**var** ：计数器变量名

#### 例

在这个例子中，我们使用＆lt; c：forEach＆gt;在循环中打印变量计数器的值。标签。循环从值 1 开始（在 **begin** 属性中提到）并且在值 10（ **end** 属性的值）处结束）。

```
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>Example c:forEach tag in JSTL</title>
</head>
<body>
<c:forEach var="counter" begin="1" end="10">
 <c:out value="${counter}"/>
</c:forEach>
</body>
</html>
```

输出：

![c-forEach-example](../Images/f64b9062fd9a8f34ee1a276a8a20d085.jpg)

## c 为 C：forTokens＆GT;标签

#### Syntax of &lt;c:forEach&gt;

```
<c:forTokens items="value(s)" delims="delimiter" var="variable_name">
 //Set of statements
</c:forTokens>
```

以下是＆lt; c：forTokens＆gt;的三个主要属性。标签。

**项目：**数据值集。
**delims：**分隔符可以有任何值。它可以是数字，字符串或特殊字符。
**var** ：存储子字符串的变量名。

#### Example

在这个例子中，我们使用分隔符点（'。'）将字符串拆分为多个子字符串。

```
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>Example c:forTokens tag in JSTL</title>
</head>
<body>
<c:forTokens items="www.beginnersbook.com" delims="." var="site">
 <c:out value="${site}"/>
</c:forTokens>
</body>
</html>
```

Output:

![c-forTokens-example](../Images/eb9859f97d25ab3f71f46a778aee80e5.jpg)