首页 > 编程笔记 > Java笔记

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>标签各属性的详细介绍如表所示。

<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>

所有教程

优秀文章