struts2标签中iterator套用iterator的元素冲突问题

今天用到了两个iterator嵌套,内部的iterator还要引用外部iterator里的元素,但是两个iterator里都有同样的属性,例如name,例如:

<s:iterator value="areaList">
			<div class="divider"></div>
				<s:iterator value="taskResult">					<p>
			${外部的areaList里的name}
				</s:iterator>
			<div class="divider"></div>
			</s:iterator>

 可以这样写:

<s:iterator value="areaList" id="obj">
				<div class="divider"></div>
				<s:iterator value="taskResult" id="son">{obj.name}
									</s:iterator>
			<div class="divider"></div>
			</s:iterator>

 接下来是更为复杂的,就是两层迭代器中还要套用if标签

我就直接上完成后的代码了:

<s:iterator value="areaList" id="obj">
			<p>
			<label>${obj.name}:</label>
			</p>
			<div class="divider"></div>
				<s:iterator value="taskResult" id="son">
					<p>
					<!-- ${obj.id} -->	
					<s:if test="%{#obj.id == #son.area.id}">
						<input type="checkbox" name="taskId" value="${id}">${name}
					</s:if>
					</p>
				</s:iterator>
			<div class="divider"></div>
			</s:iterator>

 <s:if test="%{#obj.id == #son.area.id}">中的%是告诉struts2“{}”中的#obj.id和#son.area.id不是普通的字符串,而是变量,而因为指定了迭代器的id  所以可以通过#id名.变量的形式来判断两个变量的值是否相当,注意本人开始犯了个重大的错误,将%{#obj.id == #son.area.id}写成了%{#obj.id }== %{#son.area.id},注意这样写是错误的。郭深原创,转载请著名出处http://shen84121062.iteye.com/blog/1180803

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值