我有两个清单。一次只能有一个不能为空。
我想迭代一个不为空但我不想使用的<c:choose>
,因为我必须重复代码<c:when> and <c:otherwise>
我该怎么做
如果 list1 不为 null 则迭代列表 1 否则 list2
<c:forEach items="${list1}" var="staffMember">
>html here that I don't want to repeat in my source code...<
使用三元运算符访问 中的正确列表<c:forEach>
:
<c:forEach items="${(empty list1) ? list2 : list1}" var="staffMember">
....
</c:forEach>
当然,这意味着两个列表都包含相同类型的实例。
不想用的话可以试试。
并检查是否为空。像这样的东西..
<c:if test="{not empty testList1}"> Execute First</c:if>
<c:if test="{not empty testList2}"> Execute Second</c:if>
希望能帮助到你。
尝试这个:
<c:choose>
<c:when test="${not empty testList1}">
<c:set var="TargetList" value="${testList1}"/>
</c:when>
<c:otherwise>
<c:set var="TargetList" value="$testList2}"/>
</c:choose>
<c:forEach items="${TargetList}" var="staffMember">
...
</c:forEach>