JSTL - Core <c:forEach>, <c:forTokens> Tag
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 a 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 the 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 that of the <c:forEach> tag 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 = "https://java.sun.com/jsp/jstl/core" prefix = "c" %> <html> <head> <title><c:forEach> Tag Example</title> </head> <body> <c:forEach var = "i" begin = "1" end = "5"> Item <c:out value = "${i}"/><p> </c:forEach> </body> </html>
The above code will generate the following result −
Item 1 Item 2 Item 3 Item 4 Item 5
Example for <c:forTokens>
<%@ taglib uri = "https://java.sun.com/jsp/jstl/core" prefix = "c" %> <html> <head> <title><c:forTokens> Tag Example</title> </head> <body> <c:forTokens items = "Zara,nuha,roshy" delims = "," var = "name"> <c:out value = "${name}"/><p> </c:forTokens> </body> </html>
The above code will generate the following result −
Zara nuha roshy