<c:forEach>, <c:forTokens> タグ
これらのタグは、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
その他の拡張