JSTL forTokens tag is another tag in core JSTL library to support
Iteration or looping. It effectively complements, more useful <c:forEach> tag, by
allowing you to iterate over comma separated or any delimited String. You can
use this tag to split string in JSP and can operate on them individually. forTokens tag has
similar attribute like forEach JSTL tag except one
more attribute called delims, which specifies delimiter. For example to iterate
over colon separated String "abc:cde:fgh:ijk", delims=":". By the
way, forTokens tag also accept multiple delimiter, which means,
you can split
a big string into token based upon multiple delimiter e.g. colon(:) and pipe
(|), This will be more clear, when we will see examples of JSTL forTokens tag in
JSP. Rest of attribute e.g. items, var, varStatus, begin, end and step are same,
as they are in case of <c:forEach> tag. For
quick review, items specify String which needs to be split-ed in token and var hold
current String.
JSTL <c:forTokens> Tag Example
Here is our complete code example of using JSTL forTokens tag in JSP
page. In this example, we first split a comma separate String using forTokens tag by
specifying delims=";". When we iterate over
tokens, var represent current token. In the second example, we have specified
multiple delimiter in delims attribute, delims="|," to split
String by pipe(|) character and comma
(,) character.
<%@page contentType="text/html"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
JSTL forTokens tag Example - Iterate over comma separated String in JSP</title>
</head>
<body>
<h3>
forTokens Tag Example</h3>
<h4>String
with comma ',' delimiter</h4>
<c:forTokens
var="token" items="Java, J2EE, JSTL, JSP,
Servlet"
delims=",">
<c:out
value="${token}"/>
</br>
</c:forTokens>
<h4>Iterating
over String with '|' and ',' delimiters</h4>
<c:forTokens
var="token" items="USA,New York,UK|London,Japan|Tokyo"
delims="|,">
<c:out
value="${token}"/>
</br>
</c:forTokens>
</body>
</html>
Output:
forTokens Tag Example
String with comma ','
delimiter
Java
J2EE
JSTL
JSP
Servlet
Iterating over String with
'|' and ',' delimiters
USA
New
York
UK
London
Japan
Tokyo
That's all on How to use JSTL forTokens tag for iterating over comma
separated String. Good thing about forTokens tag is
that, it not only complements forEach tag, but also support
multiple delimiters for breaking String into
tokens. Quite handy to process request parameters and other text data.
No comments:
Post a Comment