开发者社区> 我是温浩然> 正文

运用c:foreach循环显示

简介: 惯例: 我是温浩然: 先说一下两种的区别,上图,改版之前。 后来的效果是: 很明显的,后来的是分组织结构显示的,这里用到的技术,就是C标签 先贴代码: <c:forEach items="${babyStages}" var="PagebabyStage" varStatus="status"> <c:if test="${status.
+关注继续查看

惯例:

我是温浩然:

先说一下两种的区别,上图,改版之前。


后来的效果是:



很明显的,后来的是分组织结构显示的,这里用到的技术,就是C标签

先贴代码:

<c:forEach items="${babyStages}"  var="PagebabyStage" varStatus="status">
			<c:if test="${status.index%10==0}">
				<li data-projectid="${PagebabyStage.stageId}" class="open">
					<a href="#" class="dropdown-toggle"> 
						<i class="icon-list"></i> 
						<span class="menu-text">${status.index+1}---${status.index+10}</span>
					</a>
					<ul class="submenu" <c:if test="${pbstage.stageId==stageOne.stageId}">style="display: block;"</c:if> >
						<c:forEach items="${babyStages}" begin="${status.index}"  end="${status.index+9}" var="pbstage" varStatus="cstatus">
						<li class="category <c:if test="${pbstage.stageId==stageOne.stageId}">active</c:if> project" data-categoryid="${pbstage.stageId}">
							<a href="<spring:url value='/card/showCard/${pbstage.stageId}'/>"> <i class="icon-double-angle-right"></i>${pbstage.name }</a>
						</li>
						</c:forEach>
					</ul>
				</li>
			</c:if>
		</c:forEach>

foreach中嵌套if其中再嵌套foreach。

后台传到前台的是babyStages这个list集合,在前台中,通过c:foreach来进行循环解析,

就会生出第一个图的效果。

如果想生出第二个图的效果,就是上面的代码了。

首先,需要循环产生这个列表,就是1-10,11-20,21-30……

用的是c:if进行判断。其中,用到了c:foreach中的  varStatus属性的index。这个属性,可以百度一下c:foreach。有详细介绍的,我给你推荐个网址:

http://luoke920.iteye.com/blog/258815

status.index是获取当前迭代从0开始的索引

然后回到我这里来。

然后说c:if

我这里用到的c:if是循环条件,是想生出整10 的列表。

所以,c:if中的条件就是

<c:if test="${status.index%10==0}">
迭代从0开始,也就是第一次循环,因为是从0开始的,其实是第一个。是第1-到第10个

当第二次循环,就是从10 ,其实就是11开始。


然后,进入循环之后呢,再让他进行c:foreach循环,来生成下面的每一项

<c:forEach items="${babyStages}" begin="${status.index}"  end="${status.index+9}" var="pbstage" varStatus="cstatus">
	<li class="category <c:if test="${pbstage.stageId==stageOne.stageId}">active</c:if> project" data-categoryid="${pbstage.stageId}">
		<a href="<spring:url value='/card/showCard/${pbstage.stageId}'/>"> <i class="icon-double-angle-right"></i>${pbstage.name }</a>
	</li>
</c:forEach>
这个循环,设置了循环的开始项和循环的结束项。

 begin="${status.index}"  end="${status.index+9}" 
当第一次进入for循环中,是从迭代为0,实际为1开始循环,到迭代为9,数据第10个。

第二次进入for循环,迭代10,数据11,到,迭代19,数据20.

这样来生成的。


这里的begin  和   end  是,c:foreach的属性。

刚开始的static.index,则是c:foreach中的 varStatus属性的属性。

不知道你们看懂了没,如果没看懂可以联系我,我QQ:1286238812,备注就写CSDN上看见的就行。我愿意与你共享我的经验。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
有了 for 循环 为什么还要 forEach ?
有了 for 循环 为什么还要 forEach ?
31756 0
常见遍历方法 for循环、forEach、map、filter、find、findIndex、some、every
常见遍历方法 for循环、forEach、map、filter、find、findIndex、some、every
39 0
Foreach 循环|学习笔记
快速学习 Foreach 循环
54 0
Foreach循环中为什么不要进行remove/add操作
Foreach循环中为什么不要进行remove/add操作
21 0
还在 for 循环中 remove 元素?必须劝退……
还在 for 循环中 remove 元素?必须劝退……
19 0
es6:for,foreach,for...in循环区别
es6:for,foreach,for...in循环区别
54 0
js中forEach的用法、forEach如何跳出循环、forEach与for之间的区别
js中forEach的用法、forEach如何跳出循环、forEach与for之间的区别
83 0
JSP中使用<c:forEach>标签循环遍历元素
JSP中使用<c:forEach>标签循环遍历元素
168 0
foreach 输出|学习笔记
快速学习 foreach 输出
85 0
forEach 中的循环状态变量|学习笔记
快速学习 forEach 中的循环状态变量,介绍循环状态及总结。
225 0
+关注
我是温浩然
今天的菜鸟,未来的大牛
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载