JSP JSTL <c:forTokens>标签:对字符串进行迭代输出标签
<c:forTokens> 标签用于在 JSP 中遍历一个字符串中所有由定义符号所分隔的成员,当条件成立时,循环执行 <c:forTokens> 标签体中的代码段。
语法:
<c:forTokens items="String" delims="char"[var="name"][begin="start"][end="end"][step="len"][varStatus="statusName"]>
……标签体
</c:forTokens>
<c:forTokens>标签各属性的详细介绍如表所示。
属性 | 类型 | 描述 | 引用 EL |
---|---|---|---|
items | String | 被循环遍历的对象,多用于数组与集合类 | 可以 |
delims | String | 字符串的分割字符 | 不可以 |
var | String | 变量名称 | 不可以 |
begin | int | 循环的起始位置 | 可以 |
end | int | 循环的终止位置 | 可以 |
step | int | 循环的步长 | 可以 |
varStatus | String | 循环的状态变量 | 不可以 |
示例
本示例演示了如何分割字符串,其中被分割的字符串有多种分割符。将字符串分割后会添加 "<br>" 标记换行显示,关键代码如下:
<%@page import="java.util.*"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <% String str = "软件涵盖技术、函数、控件、实例、项目、方案、界面等所有开发内容,以及所有实例 程序、实用工具等内容,是程序开发人员高效编程必备的软件。"; request.setAttribute("str",str); %> <c:forTokens items="${str}" delims=",、。" var="item"> ${item}<br> </c:forTokens>
运行结果如下:
软件涵盖技术
函数
控件
实例
项目
方案
界面等所有开发内容
以及所有实例程序
实用工具等内容
是程序开发人员高效编程必备的软件
典型应用
本示例应用 <c:forTokens> 标签实现遍历以特定分隔符分隔的字符串。使用 <c:forTokens> 循环标签按“*”字符分隔其集合里所有的数据,运行结果如图所示。
分隔号 | 其值 |
---|---|
1 | String技术内幕 |
2 | 深入浅出Hibernate |
3 | 精通JavaWeb整合开发 |
4 | 视频学JavaWeb |
5 | JavaWeb开发实战宝典 |
6 | JavaWeb整合之王者归来 |
7 | JSP范例宝典 |
8 | 精通JSP编程 |
在 <c:forTokens> 标签的 items 属性有很多字符串,分别以“*”隔开,从第一个“*”字符开始分隔,直到第 8 个为止,关键代码如下:
<table> <tr bgcolor="#CCCCCC"> <td>分隔号</td> <td>其值</td> </tr> <c:forTokens items = "JSP开发王*Spring技术内幕*深入浅出Hibernate*精通JavaWeb整合开发*视频学 JavaWeb*JavaWeb开发实战宝典*JavaWeb整合之王者归来*JSP范例宝典*精通JSP编程" delims ="*" var="item" varStatus="varStatus" begin="1" end="8"> <tr> <td>${varStatus.index}</td> <td>${item}</td> </tr> </c:forTokens> </table>
发表评论