<s:if>标签判断<s:iterator>模拟循环的当前迭代值

8 篇文章 0 订阅


前面用 struts2 的 迭代循环标签模拟出了for循环控制的效果,并且效果不错。

这里又出了点问题,iterator迭代的当前值是<s:property/>,比如我们如果要实现 判断循环的时候,当迭代数字等于当前页面的话,就停止下来。


这个该怎么写呢?

<s:if test="#request.pager.nowpage == <s:property />"></s:if> 这样写吗? 不对!

<s:if test="<s:property value="pager.nowpage"/> == <s:property/>"></s:if> 这样也不对!


通过尝试,发现 虽然 模拟 for循环 这是 <s:iterator>标签的一种t特殊写法,但是他始终还是保留了<s:iterator>的特性,比如id值为当前迭代对象等。


因此 我们可以这样实现,给<s:iterator>设置一个id属性,然后这样判断:

<s:if test="#request.pager.nowpage ==#id"></s:if> 这样就对啦!


下面是模拟实现  的全部代码


<s:bean name= "org.apache.struts2.util.Counter"  id= "counter" >     
	 	 <s:param name="first"  value= "1"  />     
	     <s:param name="last"  value= "6"  />  
	  	<!--设置id属性-->	
	  	 <s:iterator id="test">  
	 	 <s:if test="#test == #request.pager.nowpage"> 
	 	    	<span>checked</span>
	 	    </s:if>
	 	   <s:else>
	 	   	<s:property/>	
	 	   </s:else>

		 </s:iterator>     
	</s:bean>    



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值