struts2 s标签 iterater的使用,双重循环下判断checkbox是否被选中

   listC = String[]{xx,xx,xx}; 

   listCuisine是类别的list,listC是一个数组里面是当初选中的类别。

<s:iterator status="index" id="in" value="listCuisine"> 
                                      <s:set name="myflag" value="0"></s:set> <!--定义一个临时的变量,为判断是否被选中准备-->                                        
                                      <s:if test="#index.index%5==0"><!--此处是判断当数字为5时,就换行-->
            <tr>
          </s:if>   
                                      <td>
                                      <div>
                                        <s:iterator status="ind" id="out" value="listC"><!--数组的迭代部分-->
                                         <s:set name="indout" ><s:property/></s:set><!--将迭代出来的数组赋值给indout,<s:property/>就是那个字符串数组-->
                                         <s:if test="%{svalue==#indout}"><!--如果外部list中的svalue==indout,就将myflag置为1-->
                                          <s:set name="myflag" value="1"></s:set>
                                         </s:if>
                                        </s:iterator>
                                      <s:if test="#myflag==1"><!--如果myflag==1就证明是选中项,将其checked,-->
                                       <input type="checkbox" checked="checked" name="listCuisine" id="cuisine"><s:property value='svalue'/></input>
                                      </s:if>
                                     <s:else>
                                       <input type="checkbox" name="listCuisine" id="cuisine"><s:property value='svalue'/></input>
                                      </s:else>
                                      <!-- <label for="cuisine"><s:property value='svalue'/></label> -->
                                     </div>
          </td>
         
         </s:iterator>

 

 

你可能感兴趣的:(checkbox)