如何限定只遍历一次

JPF1024 2014-05-20 06:57:48
遍历的数据是一个Map大致是下面这样的.

Map<String,Object> map = new HashMap<String,Object>();
map.put("object",O);
map.put("object1",O1);

遍历的时候:

<c:forEach><!--外层循环,共循环四次-->
<c:forEach><!--内层循环,每次只循环一次然后就跳到外层循环-->
</c:forEach>
</c:forEach>

找了一下jstl里面没有break,其他标签的限制貌似也不是很灵活,map是从后台返回的数据,里面的O是一个对象,结果大致是下面这样的:

-------------------------------------------

O
O1O1O1O1//只想让这个输出一次
O

求助谢谢了
...全文
1580 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdp1993 2014-05-23
  • 打赏
  • 举报
回复

                     <c:forEach var="tick" items="${test }" varStatus="stas" >
                    <c:if test="${#stas.index==0    }">
                        <li><a href="">查看详情</a></li>
                       </c:if>
                        </c:forEach>
JPF1024 2014-05-23
  • 打赏
  • 举报
回复
引用 1 楼 u013637569 的回复:
这个貌似不能吧,如果你能的话记得回复我 我是一楼
解决了,用<c:set>解决的。。


 <c:set var="jidte" scope="page" value="1"/>
                     <c:forEach var="tick" items="${test }" varStatus="stas" >
                    <c:if test="${ jidte==1    }">
                        <li><a href="">查看详情</a></li>
                        <c:set var="jidte" scope="page" value="2"/>
                       </c:if>
                        </c:forEach>

sdp1993 2014-05-23
  • 打赏
  • 举报
回复

这样好像也可以吧
 <c:forEach var="tick" items="${test }" varStatus="stas" >
                    <c:if test="${stas.index==0    }">
                        <li><a href="">查看详情</a></li>
                       </c:if>
                        </c:forEach>

或者

 <c:forEach var="tick" items="${test }" varStatus="stas" >
                    <c:if test="${stas.count==1    }">
                        <li><a href="">查看详情</a></li>
                       </c:if>
                        </c:forEach>
shine333 2014-05-22
  • 打赏
  • 举报
回复
怎么又弄出来个jq。。。。。。。。。。。。。。。。。。。。。。
tony4geek 2014-05-22
  • 打赏
  • 举报
回复
jquery。
jackie505 2014-05-21
  • 打赏
  • 举报
回复
顶一个
引用 4 楼 zy353003874 的回复:
通过begin,end属性进行设置就可以了,不过既然只是遍历一次的话,就没有必要使用foreach标签了,同时只需要得到你想要的那个值就可以了
JPF1024 2014-05-21
  • 打赏
  • 举报
回复
引用 6 楼 shine333 的回复:
[quote=引用 4 楼 zy353003874 的回复:] 通过begin,end属性进行设置就可以了,不过既然只是遍历一次的话,就没有必要使用foreach标签了,同时只需要得到你想要的那个值就可以了
原先我也是想这样写的。方法一:begin/end,方法二:${xxxx[0]}但是后来想想,没法写统一的表达式,尤其是针对Map遍历的时候。[/quote] 难度很大,我改用jquery调试了,不过弄了一下午还是很难协调。最主要的地方是:有一个元素要加载两次,其他的只需要加载一次。 例如下面这样: a b cc d e c需要加载两次,其他只需要一次,所以用jstl和el都很难实现,只好用jquery了。。。。。。
乔不思 2014-05-21
  • 打赏
  • 举报
回复
感觉在第一个foreach里面定义一个变量,利用 if标签进行控制,,,好像可以,。。。
shine333 2014-05-21
  • 打赏
  • 举报
回复
引用 4 楼 zy353003874 的回复:
通过begin,end属性进行设置就可以了,不过既然只是遍历一次的话,就没有必要使用foreach标签了,同时只需要得到你想要的那个值就可以了
原先我也是想这样写的。方法一:begin/end,方法二:${xxxx[0]}但是后来想想,没法写统一的表达式,尤其是针对Map遍历的时候。
zy_think123 2014-05-20
  • 打赏
  • 举报
回复
通过begin,end属性进行设置就可以了,不过既然只是遍历一次的话,就没有必要使用foreach标签了,同时只需要得到你想要的那个值就可以了
paker_ma 2014-05-20
  • 打赏
  • 举报
回复
bean 标签定义个变量记录
shine333 2014-05-20
  • 打赏
  • 举报
回复
内层循环<c:forEach .... begin="0" end="0">
在外的少年 2014-05-20
  • 打赏
  • 举报
回复
这个貌似不能吧,如果你能的话记得回复我 我是一楼

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧