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:
Attribute | Description | Required | Default |
---|---|---|---|
items | Information to loop over | No | None |
begin | Element to start with (0 = first item, 1 = second item, …) | No | 0 |
end | Element to end with (0 = first item, 1 = second item, …) | No | Last element |
step | Process every step items | No | 1 |
var | Name of the variable to expose the current item | No | None |
varStatus | Name of the variable to expose the loop status | No | None |
The <c:forTokens> tag has similar attributes as <c:forEach> except one additional attribute delims which specifies sharacters to use as delimiters.
Attribute | Description | Required | Default |
---|---|---|---|
delims | Characters to use as delimiters | Yes | None |
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