我有一个String列表,我将它设置为一个会话: session.setAttribute("datas", result.getBody().getDatas()); 那么我想检查一个JSP,如果在datas属性中没有包含“apple”这个词。如果没有包含,则不包含
session.setAttribute("datas", result.getBody().getDatas());
那么我想检查一个JSP,如果在datas属性中没有包含“apple”这个词。如果没有包含,则不包含打印消息。最初我试图做这样的事情:
<c:forEach items="${datas}" var="data"> <c:if test="${data!='apple'}"> <p> Doesn't contained</p> </c:if> <c:for>
但上述代码,如果该会话包含以下值:
苹果
香蕉
柠檬
打印两次“不包含”消息。我知道这是正常的,但是为了使我想要的那样我该怎么对待呢?
!=确切不等式的测试。您需要使用fn:contains()
或
fn:containsIgnoreCase()
功能。
<c:forEach items="${datas}" var="data"> <c:if test="${not fn:containsIgnoreCase(data, 'apple')}"> <p>Doesn't contain 'apple'</p> </c:if> </c:forEach>