我正在使用Java 8,Tomcat 8以及Servlet 3.1.0,JSP 2.0和JSTL 1.2。如何檢查集合是否包含使用JSP/EL/JSTL的項目
我希望能夠做到以下幾點。但是,它不起作用。
<c:forEach var="item" items="${itemList}" varStatus="status">
<tr>
<td>${status.index + 1}</td>
<td>${item.itemCode}</td>
<td>${item.displayName}</td>
<td>
<c:choose>
<c:when test="${user.favourites.contains(item)}">Yes</c:when>
<c:otherwise>No</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
其中user.favourites
是item
小號
一個Set
難道是因爲我沒有依賴關係的正確版本。我的POM包含;
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
servlet-api
和jsp-api
由Tomcat的提供。 jstl
的版本是否正確?
從我所看到的'fn:contains'用於檢查一個字符串是否包含另一個字符串中的值,而不用於檢查集合是否包含給定的項目 – Vihung 2014-12-03 11:29:19
您可以參考此www.experts-exchange.com /編程/語言/Java/J2EE/Q_24847712.html,第4條評論使用相同的方法。 – Vicky 2014-12-03 11:44:22
我懷疑它可能已經工作,因爲數組的字符串表示包含該對象的字符串表示。實際上它做了一個'array.toString()。contains(object.toString())'。一個方便的僥倖,不是我想要依賴的東西 – Vihung 2014-12-03 16:48:40