这是项目中的一段示例代码。嵌套迭代,判断两层迭代中的取值。 值得注意的是,<s:if>中test语句的写法,包括“#”和.equals的使用。此外还有${insuName}这类表达式的运用。 //第一层迭代 <s:iterator value="req.clas" id='cla' status='st'> //设定一个标志位 <s:set name="checked" value="1"/> //嵌套,第二层迭代 <s:iterator value="sd.flags" id='flag' status='stf'> //判断,注意test的写法 <s:if test="#cla.insuName.equals(#flag)&&#checked==1"> <input type="checkbox" name="flagcheckbox" id=checkbox${insuCode } value=${insuName} } checked/> //改变标志位取值,使得循环不会再进入当前if结构 <s:set name="checked" value="2"/> </s:if> </s:iterator> //如果整个第二层循环都未曾进入if结构 <s:if test="#checked==1"> <input type="checkbox" id=checkbox${insuCode } name="flagcheckbox" value=${insuName}/> </s:if> //结束整个迭代 </s:iterator>
以上内容转自:http://hi.baidu.com/winters1224/item/e7390a3d823ec943033edc38