không có tính năng tích hợp nào để kiểm tra điều đó - những gì bạn sẽ làm là viết hàm tld của riêng bạn để nhận một danh sách và một mục, đồng thời gọi phương thức chứa () của danh sách. ví dụ
<?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>
Sau đó, tạo một lớp có tên Yourclass và thêm một phương thức tĩnh có tên là contains với chữ ký ở trên. Tôi chắc chắn rằng việc triển khai phương pháp đó khá tự giải thích:
package com;
public class Yourclass {
public static boolean contains(List list, Object o) {
return list.contains(o);
}
}
Sau đó, bạn có thể sử dụng nó trong jsp của mình:
<%@ taglib uri="/WEB-INF/custom-functions.tld" prefix="fn" %>
<c:if test="${ fn:contains( mylist, myValue ) }">style='display:none;'</c:if>
Thẻ có thể được sử dụng từ bất kỳ JSP nào trong trang web.
chỉnh sửa: thêm thông tin về tệp tld - thêm thông tin ở đây