[英]How to programmatically draw blocks of N elements using an Iterator
假设,我想通过Struts迭代器实现这一点:
<div class="carousel-inner">
<div class="active item">
<div class="row-fluid">
<ul class="thumbnails">
<li class="span3"><a href="#"><img src="images/sample/clients/client1.png"></a></li>
<li class="span3"><a href="#"><img src="images/sample/clients/client2.png"></a></li>
<li class="span3"><a href="#"><img src="images/sample/clients/client3.png"></a></li>
<li class="span3"><a href="#"><img src="images/sample/clients/client4.png"></a></li>
</ul>
</div>
</div>
<div class="item">
<div class="row-fluid">
<ul class="thumbnails">
<li class="span3"><a href="#"><img src="images/sample/clients/client4.png"></a></li>
<li class="span3"><a href="#"><img src="images/sample/clients/client3.png"></a></li>
<li class="span3"><a href="#"><img src="images/sample/clients/client2.png"></a></li>
<li class="span3"><a href="#"><img src="images/sample/clients/client1.png"></a></li>
</ul>
</div>
</div>
<div class="item">
<div class="row-fluid">
<ul class="thumbnails">
<li class="span3"><a href="#"><img src="images/sample/clients/client1.png"></a></li>
<li class="span3"><a href="#"><img src="images/sample/clients/client2.png"></a></li>
<li class="span3"><a href="#"><img src="images/sample/clients/client3.png"></a></li>
<li class="span3"><a href="#"><img src="images/sample/clients/client4.png"></a></li>
</ul>
</div>
</div>
</div>
这是我尝试过的:
<div class="carousel-inner">
<div class="active item">
<div class="row-fluid">
<ul class="thumbnails">
<s:iterator value="members" begin="0" end="3">
<li class="span3"><a href="#"><img src="<s:property value='imageUrlPrefix' /><s:property value='imageName'>" /></a></li>
</ul>
</div>
</div>
<div class="item">
<div class="row-fluid">
<ul class="thumbnails">
<s:iterator value="members" begin="3" end="7">
<li class="span3"><a href="#"><img src="<s:property value='imageUrlPrefix' /><s:property value='imageName'>" /></a></li>
</ul>
</div>
</div>
</div>
我希望我的struts迭代器创建每个包含4个列表项的项类。 一个类填充了4个列表项后,迭代器必须创建另一个项类。 我该如何实现?
谢谢
您可以使用module
运算符( 如此答案中所述 )轻松实现此目标:
<div class="carousel-inner">
<div class="active item">
<div class="row-fluid">
<ul class="thumbnails">
<s:iterator value="members" status="ctr" >
<li class="span3">
<a href="#">
<img src="<s:property value='imageUrlPrefix' />
<s:property value='imageName'>" />
</a>
</li>
<s:if test="%{#ctr.count % 4 == 0}" >
</ul>
</div>
</div>
<div class="item">
<div class="row-fluid">
<ul class="thumbnails">
</s:if>
</s:iterator>
</ul>
</div>
</div>
</div>
注意:要将active
类设置为正确的项目,请在迭代器内部使用<s:if>
在外部使用另一个<s:if>
来检查它是否是第一个被激活的元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.