当前位置 : 主页 > 编程语言 > java >

jsp – 如何测试一个字符串是否包含EL中的给定值?

来源:互联网 收集:自由互联 发布时间:2021-06-25
我有一个String列表,我将它设置为一个会话: session.setAttribute("datas", result.getBody().getDatas()); 那么我想检查一个JSP,如果在datas属性中没有包含“apple”这个词。如果没有包含,则不包含
我有一个String列表,我将它设置为一个会话:

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>
网友评论