# JSTL`<c:forEach>`和`<c:forTokens>`核心标签

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

JSTL 中的`<c:forEach>`标签用于执行有限次数的同一组语句。它类似于 java 中的`for`循环。当我们需要一次又一次地执行（执行）一组语句指定的次数时，基本上使用它。

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

## `<c:forEach>`标签

#### `<c:forEach>`的语法

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

以下是`<c:forEach>`的三个主要属性。标签。

`begin`：初始计数器值。
`end`：循环执行的最终限制
`var`：计数器变量名

#### 例

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

```html
<%@ 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:forTokens>`标签

#### `<c:forTokens>`语法

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

以下是`<c:forTokens>`的三个主要属性。标签。

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

#### 示例

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

```html
<%@ 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>
```

输出：

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