<c:forEachitems="#{varpersonList.partyContactMethods}"var="partyContactMethod">
<c:iftest="#{partyContactMethod.prefContactInd=='P'}">
<c:outvalue="#{partyContactMethod.contactMethod.contactNum}"></c:out>
</c:if>
</c:forEach>
我想在c:if的条件成立后,退出c:forEach循环,用break肯定是不行的,不知道有什么好的办法
可以跟C:CHOOSE标签结合使用这样应该能满足你的需求L:
HTMLcode<c:forEachvar="person"items="${people.people}"varStatus="rowCounter"><c:choose><c:whentest="${rowCounter.count%2==0}"><c:setvar="rowStyle"scope="page"value="odd"/></c:when><c:otherwise><c:setvar="rowStyle"scope="page"value="even"/></c:otherwise></c:choose><trclass="${rowStyle}"><td>${person.name}</td><td>${person.age}</td><td>${person.height}</td></tr></c:forEach> 但是我是想判断条件一成立,就退出foreach循环,你这样用chooese不是一样循环完结束
如果一定要这么用的话,你试试能不能在你想跳出的时候,将集合里剩余的元素删除掉。或者直接让集合=null。试试,也许可行呢?
这位哥,你的想法是不错,但是这是一个标签,人家都封装好了给你使用,若你想中断跳出就得问问标签的编程人员那代码怎么写的了。。。。所以用标签不可能实现这种效果的,我看你还是用java代码片吧。。c:foreach
用forEach的end属性,里面写结束的条件,可以是个局部变量等于某个特定的值,在执行结束的if语句中赋值,当end中的表达式里的变量等于if语句中设的值时,就可以结束。end就是用来设置结束条件的!
<c:set var="isMatch" scope="page">0</c:set><!-- 匹配标记,初始化时置为0 -->
<c:forEach items="#{varpersonList.partyContactMethods }" var="partyContactMethod" >
<c:if test="#{partyContactMethod.prefContactInd eq 'P'} && isMatch ne 1">
<c:set var="isMatch" scope="page">1</c:set><!-- 匹配的时候,先把标记变量置为1再输出 -->
<c:out value="#{partyContactMethod.contactMethod.contactNum }"></c:out>
</c:if>
</c:forEach>
给楼主一个折中的方法吧,虽然不能跳出循环,但可以达到后续不在输出的目的。如果有更复杂的控制,可以设置多个变量进行相应的改动。
HTMLcode
<c:setvar="isMatch"scope="page">0</c:set><!--匹配标记,初始化时置为0-->
<c:forEachitems="#{varpersonList.partyContactMethods}"var="partyContactMethod">
<c:iftest="#{partyContactMethod.pre……
有个地方写错了,应该是:
<c:set var="isMatch" scope="page">0</c:set><!-- 匹配标记,初始化时置为0 -->
<c:forEach items="#{varpersonList.partyContactMethods }" var="partyContactMethod" >
<c:if test="#{partyContactMethod.prefContactInd eq 'P' && isMatch ne 1">
<c:set var="isMatch" scope="page">1</c:set><!-- 匹配的时候,先把标记变量置为1再输出 -->
<c:out value="#{partyContactMethod.contactMethod.contactNum }"></c:out>
</c:if>
</c:forEach>
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-32878-1.html
那是因为濒海舰系统是第一次搞
千玺就像现实版的真人小王子
男女之事不能瞎搞
lu的身高