Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

การใช้งาน <c:forTokens> tag ใน JSP

Tag <c:forTokens> แยก string เป็น tokens ตาม delimiter แล้ว iterate แต่ละ token คล้าย String.split() แต่ใน JSTL

Attributes

AttributeคำอธิบายRequiredDefault
itemsString ที่จะแยกYes-
delimsตัวคั่น (delimiters) - แต่ละ char เป็น delimiter แยกกันYes-
varVariable name สำหรับ token ปัจจุบันNo-
varStatusLoop status object (count, index, first, last)No-
begin, end, stepควบคุม range การ loop (เหมือน forEach)No-

ตัวอย่าง

<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>
<html>
<body>
    <c:forTokens items="Apple,Banana,Orange" delims="," var="fruit">
        <c:out value="${fruit}"/><br/>
    </c:forTokens>
    
    <hr/>
    
    <!-- หลาย delimiters -->
    <c:forTokens items="A;B|C,D" delims=";|," var="token">
        [<c:out value="${token}"/>] 
    </c:forTokens>
</body>
</html>

ผลลัพธ์

Apple
Banana
Orange

[A] [B] [C] [D]

ความแตกต่าง <c:forTokens> vs <c:forEach>

คุณสมบัติ<c:forTokens><c:forEach>
InputString (แยกด้วย delimiter)Collection, Array, Map, Iterator
Delimiterระบุใน delims attributeN/A
Use caseParse CSV, token stringsIterate collections ทั่วไป

ข้อควรระวัง

  • delims แต่ละตัวอักษรเป็น delimiter แยกกัน (ไม่ใช่ string pattern)
  • Empty tokens จะถูกข้าม (ไม่สร้าง iteration)
  • Trim whitespace เองถ้าจำเป็น