我想在JSTL中的foreach中插入"continue".如果有办法实现这一点,请告诉我.
<c:forEach
var="List"
items="${requestScope.DetailList}"
varStatus="counter"
begin="0">
<c:if test="${List.someType == 'aaa' || 'AAA'}">
<<<continue>>>
</c:if>
Run Code Online (Sandbox Code Playgroud)
我想在if条件中插入"continue".
Bal*_*usC 29
没有这样的事情.只需对您实际想要显示的内容进行反向操作.所以不要这样做
<c:forEach items="${requestScope.DetailList}" var="list">
<c:if test="${list.someType eq 'aaa' or list.someType eq 'AAA'}">
<<<continue>>>
</c:if>
<p>someType is not aaa or AAA</p>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
而是做
<c:forEach items="${requestScope.DetailList}" var="list">
<c:if test="${not (list.someType eq 'aaa' or list.someType eq 'AAA')}">
<p>someType is not aaa or AAA</p>
</c:if>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
要么
<c:forEach items="${requestScope.DetailList}" var="list">
<c:if test="${list.someType ne 'aaa' and list.someType ne 'AAA'}">
<p>someType is not aaa or AAA</p>
</c:if>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
请注意,我也修复了代码中的EL语法错误.
小智 5
我在可执行代码末尾和循环内部使用 Set 解决了这个问题
<c:set var="continueExecuting" scope="request" value="false"/>
Run Code Online (Sandbox Code Playgroud)
然后我使用该变量在下一次迭代中跳过代码的执行
<c:if test="${continueExecuting}">
Run Code Online (Sandbox Code Playgroud)
您可以随时将其设置回 true...
<c:set var="continueExecuting" scope="request" value="true"/>
Run Code Online (Sandbox Code Playgroud)
有关此标签的更多信息,请访问:JSTL Core Tag
享受!
| 归档时间: |
|
| 查看次数: |
73667 次 |
| 最近记录: |