ไม่มีคุณสมบัติในตัวเพื่อตรวจสอบสิ่งนั้นสิ่งที่คุณต้องทำคือเขียนฟังก์ชัน tld ของคุณเองซึ่งรับรายการและรายการและเรียกใช้วิธีการมี () เช่น
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0"
>
<tlib-version>1.0</tlib-version>
<function>
<name>contains</name>
<function-class>com.Yourclass</function-class>
<function-signature>boolean contains(java.util.List,java.lang.Object)
</function-signature>
</function>
</taglib>
จากนั้นสร้างคลาสชื่อ Yourclass และเพิ่มวิธีการแบบคงที่ที่เรียกว่ามีด้วยลายเซ็นด้านบน ฉันแน่ใจว่าการใช้วิธีนั้นค่อนข้างอธิบายได้ด้วยตนเอง:
package com;
public class Yourclass {
public static boolean contains(List list, Object o) {
return list.contains(o);
}
}
จากนั้นคุณสามารถใช้ใน jsp ของคุณ:
<%@ taglib uri="/WEB-INF/custom-functions.tld" prefix="fn" %>
<c:if test="${ fn:contains( mylist, myValue ) }">style='display:none;'</c:if>
สามารถใช้แท็กจาก JSP ใดก็ได้ในไซต์
แก้ไข: ข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ tld - ข้อมูลเพิ่มเติมที่นี่