English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

<c:forEach> 、 <c:forTokens>タグ

JSP標準タグライブラリ

これらのタグはJavaのfor、while、doループをラップしています。-whileループ。

比較すると、<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>タグには以下の属性があります:

属性 説明 必要かどうか デフォルト値
items ループする情報 いいえ ありません
開始 開始の要素(0=最初の要素、1=二番目の要素) いいえ 0
終了 最後の要素(0=最初の要素、1=二番目の要素) いいえ 最後の要素
step 各イテレーションのステップサイズ いいえ 1
var 現在のエントリを表す変数名 いいえ ありません
varStatus ループ状態を表す変数名 いいえ ありません

<c:forTokens>タグと<c:forEach>タグは似た属性を持っていますが、<c:forTokens>タグには別の属性もあります:

属性 説明 必要かどうか デフォルト値
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">
   アイテム <c:out value="${i}"/><p>
</c:forEach>
</body>
</html>

実行結果は以下の通りです:

アイテム 1
アイテム 2
アイテム 3
アイテム 4
アイテム 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,w3codebox,taobao" delims="," var="name">
   <c:out value="${name}"/><p>
</c:forTokens>
</body>
</html>

実行結果は以下の通りです:

google
w3codebox
taobao

JSP標準タグライブラリ