[转]<s:iterator>和<s:if>的一段示例

这是项目中的一段示例代码。嵌套迭代,判断两层迭代中的取值。
值得注意的是,<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

原文地址:https://www.cnblogs.com/GYoungBean/p/2870154.html