JSP JSTL <c:forTokens>標籤:對字串進行疊代輸出標籤

2020-07-16 10:04:59
<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>