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>
发表评论