<c:forEach>, <c:forTokens> Tags
Diese Tags kapseln die for-, while- und do-while-Schleifen in Java.
Im Vergleich dazu ist der <c:forEach>-Tag vielseitiger, da er über Objekte in einer Sammlung iteriert.
Der <c:forTokens>-Tag zerlegt eine Zeichenkette mithilfe eines angegebenen Trennzeichens in ein Array und iteriert dann über die Elemente.
forEach-Syntaxformat
<c:forEach
items="<object>"
begin="<int>"
end="<int>"
step="<int>"
var="<string>"
varStatus="<string>">
...
forTokens-Syntaxformat
<c:forTokens
items="<string>"
delims="<string>"
begin="<int>"
end="<int>"
step="<int>"
var="<string>"
varStatus="<string>">
Attribute
Das <c:forEach>-Tag hat die folgenden Attribute:
| Attribute | Beschreibung | Erforderlich? | Standardwert |
|---|---|---|---|
| items | Die Elemente, über die iteriert werden soll | nein | Keine |
| begin | Startelement (0=erstes Element, 1=zweites Element) | nein | 0 |
| end | Letztes Element (0=erstes Element, 1=zweites Element) | nein | Letztes Element |
| Schrittweite | Schrittweite für jede Iteration | nein | 1 |
| var | Variablenname, der das aktuelle Element darstellt | nein | Keine |
| varStatus | Variablenname, der den Schleifenstatus darstellt | nein | Keine |
Das <c:forTokens>-Tag hat ähnliche Attribute wie das <c:forEach>-Tag, aber <c:forTokens> hat ein weiteres Attribut:
| Attribute | Beschreibung | Erforderlich? | Standardwert |
|---|---|---|---|
| delims | Trennzeichen | Ja | Keine |
<c:forEach>-Beispiel
<%@ 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>
Die Ausgabe sieht wie folgt aus:
Item 1 Item 2 Item 3 Item 4 Item 5
<c:forTokens> Beispiel
<%@ 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,example,taobao" delims="," var="name">
<c:out value="${name}"/><p>
</c:forTokens>
</body>
</html>
Die Ausgabe sieht wie folgt aus:
google example taobao
Andere Erweiterungen
JSP-Standard-Tag-Bibliothek