<c:set><c:if test=””>联合使用,使用el表达式对较复杂对象进行比较处理

来源:互联网 发布:linux默认命令行启动 编辑:程序博客网 时间:2024/05/16 07:12

在使用<c:if test=””>比较值时,有时从后台传递过来的值,是一个对象或者一个数组,亦或者一个使用某分割附连接起来的字符串等,

均需要处理后才能进行比较,以下为处理以及比较方式代码示例

若想对test中的值需要函数处理,可先在<c:set var=”” value=””>中使用函数处理,然后再将set的值赋予到test中即可;如下实现了将${temp.supplier}的值(suppValue)split(“/”)处理,得到数组idnameValue,,即实现了java中:

 suppValue.split(“/”)[0] == list.clientId 的比较

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

 

<c:forEach var="list" items="${clientList}">

<c:set var="idnameValue" value="${fn:split(temp.supplier,'/')}></c:set>

   <c:if test="${idnameValue[0] == list.clientId}">

   <option value="${temp.supplier}">${list.clientName}</option>

</c:if>

</c:forEach>

注:el表达式函数的使用方式见标题为“el表达式函数的用法”博客