我有一个if语句,如下所示:
<c:if test="${id == '1' || id == '2' || id == '3' || id == '4'}">
而且我想知道是否有一种方法可以通过检查id
是否包含在数组/列表/集合中来简化此过程,就像这样
<c:if test="${id isContainedIn {'1','2','3','4'}}">
显然,这是不正确的,但是它表明了我在寻找什么。有没有类似的东西?谢谢!
如果您可以创建一个包含列表的字符串,则可以使用以下代码。
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix = "fn" uri = "http://java.sun.com/jsp/jstl/functions" %>
<%
pageContext.setAttribute("listString", "1234");
%>
<c:set var="id" value="3"/>
<c:if test='${fn:contains(listString, id)}'>
Yes id is contained
</c:if>
您可以执行以下操作:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%
ArrayList list = new ArrayList();
list.add("one");
list.add("two");
list.add("three");
%>
<c:set var="list" value="<%=list%>" />
<html>
<body>
My list is ${list}<br/>
<c:if test='${fn:contains(list, "two")}'>
My list contains two <br/>
</c:if>
<c:if test='${fn:contains(list, ",")}'>
My list contains ,
</c:if>
</body>
</html>
上面代码的输出是
我的列表是[1、2、3]
我的列表包含两个
我的列表中包含,
我希望它可以帮助某人。