JSTL判断一个list集合里是否包含某个字符串
2017-09-17 20:15
1311 查看
今天在写一个需求时,在jsp页面中要判断servlet带过来的 list 集合中是否包含某个字符串,如果包含则执行某种操作,如果不包含则执行另一种操作。起初用的是JSTL标签里 fn:contains标签,但却不能达到我的要求。最后查阅资料,总算找到了解决方法。
首先;fn:contains标签的作用是:判断一个输入字符串是否包含一个指定的子串。即该标签内部的实现原理是“包含”,而不是我们所需要的equals(即等于)。虽然在JavaSE
中 List 集合的确有一个contains方法,用来判断一个list集合里是否包含某个元素,但是在JSTL中contain确实完全不同的,所以,我们为了实现上面的需求,就不能使用fn:contains,而是使用 c:foreach标签来穷举实现判断是否包含。一下给出示例代码。
首先:错误的实现list集合是否包含的代码原型:
<c:set var="contains" value="no" />
<c:forEach var="list" items="${requestScope.list }" begin="0"
end="${fn:length(list)}">
<c:if test="${list == '2013' }">
<c:set var="contains" value="yes" />
</c:if>
</c:forEach>
<c:choose>
<c:when test="${contains=='yes' }">
<script type="text/javascript">
alert("包含2013");
</script>
</c:when>
<c:otherwise>
<script type="text/javascript">
alert("没有包含2013!");
</script>
</c:otherwise>
</c:choose>
其中 在循环之前使用的c:set标签充当的是一个标志位的作用,如果不使用的话,可能会时代码重复执行。
首先;fn:contains标签的作用是:判断一个输入字符串是否包含一个指定的子串。即该标签内部的实现原理是“包含”,而不是我们所需要的equals(即等于)。虽然在JavaSE
中 List 集合的确有一个contains方法,用来判断一个list集合里是否包含某个元素,但是在JSTL中contain确实完全不同的,所以,我们为了实现上面的需求,就不能使用fn:contains,而是使用 c:foreach标签来穷举实现判断是否包含。一下给出示例代码。
首先:错误的实现list集合是否包含的代码原型:
<c:choose> <c:when test="${fn:contains(requestScope.list,'2013') } "> <script type="text/javascript"> alert("包含2013"); </script> </c:when> <c:otherwise> <script type="text/javascript"> alert("没有包含2013!"); </script> </c:otherwise> </c:choose>然后是使用c:foreach实现判断是否包含的正确代码:
<c:set var="contains" value="no" />
<c:forEach var="list" items="${requestScope.list }" begin="0"
end="${fn:length(list)}">
<c:if test="${list == '2013' }">
<c:set var="contains" value="yes" />
</c:if>
</c:forEach>
<c:choose>
<c:when test="${contains=='yes' }">
<script type="text/javascript">
alert("包含2013");
</script>
</c:when>
<c:otherwise>
<script type="text/javascript">
alert("没有包含2013!");
</script>
</c:otherwise>
</c:choose>
其中 在循环之前使用的c:set标签充当的是一个标志位的作用,如果不使用的话,可能会时代码重复执行。
相关文章推荐
- JAVA中查询一个词在内容中出现的次数、判断集合中是否包含关键字、查询字符串数组单个字符的长度
- 用jstl标签判断一个字符串是否包含了另一个字符串
- php如何判断一个字符串是否包含另一个字符串
- php怎样判断一个字符串是否包含另一个字符串?
- js 经典正则判断 一个字符串是否包含另一个字符串
- jstl中的判断list中是否包含某个值
- mysql判断一个字符串是否包含某子串 【转】
- mysql判断一个字符串是否包含某几个字符
- Java中判断一个字符串String是否包含特殊字符的代码
- java 判断一个字符串是否包含某个字符串中的字符
- 在java中判断一个字符串中是否包含某个字符或字符串
- SQLSERVER 判断一个字符串是否包含特殊字符
- 模仿String.indexOf,判断一个字符串是否包含另一个字符串
- Python实现判断一个字符串是否包含子串的方法总结
- python判断一个集合是否包含了另外一个集合中所有项的方法
- 判断一个字符串中是否包含另一个字符串
- mysql判断表里面一个逗号分隔的字符串是否包含单个字符串
- JS 判断一个字符串是否包含在一个数组中
- Struts标签<s:if>判断字符串是否包含一个固定的值
- java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”