JSTL Core tag - foreach() : Function

These tags exist as a good alternative to embedding a Java for, while, or do-while loop via a scriptlet. The <c:forEach> tag is the more commonly used tag because it iterates over a collection of objects. The <c:forTokens> tag is used to break a string into tokens and iterate through each of the tokens.

Attribute:

The <c:forEach> tag has following attributes:

AttributeDescriptionRequiredDefault
itemsInformation to loop overNoNone
beginElement to start with (0 = first item, 1 = second item, …)No0
endElement to end with (0 = first item, 1 = second item, …)NoLast element
stepProcess every step itemsNo1
varName of the variable to expose the current itemNoNone
varStatusName of the variable to expose the loop statusNoNone

The <c:forTokens> tag has similar attributes as <c:forEach> except one additional attribute delims which specifies sharacters to use as delimiters.

AttributeDescriptionRequiredDefault
delimsCharacters to use as delimitersYesNone

Example for <c:forEach>:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>JSTL Tag Example</title>
</head>
<body>
<c:forEach var="i" begin="1" end="5">
   Value of i : <c:out value="${i}"/><p>
</c:forEach>
</body>
</html>

Output :

Value of i : 1
Value of i : 2
Value of i : 3
Value of i : 4
Value of i : 5

Example for <c:forTokens>:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>JSTL Tag Example</title>
</head>
<body>
<c:forTokens items="A,B,C,D,E" delims="," var="name">
   <c:out value="${name}"/><p>
</c:forTokens>
</body>
</html>

Output :

A
B
C
D
E