<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 反復処理される情報 否 无
begin 開始要素(0=最初の要素、1=2番目の要素) 否 0
end 最後の要素(0=最初の要素、1=2番目の要素) 否 Last element
step 各反復のステップ間隔 否 1
var 現在の項目を表す変数名 否 无
varStatus ループ状態を表す変数名 否 无

<c:forTokens>タグは<c:forEach>タグと似た属性を持ちますが、<c:forTokens>にはもう1つの属性があります。

属性 説明 必須かどうか デフォルト値
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,サンプル,taobao" delims="," var="name">
   <c:out value="${name}"/><p>
</c:forTokens>
</body>
</html>

実行結果は次のとおりです。

google
サンプル
taobao

JSP 標準タグライブラリ

その他の拡張