我需要显示一系列复选框,如果条件成功,则需要对其进行检查。下面是我的代码。我有一个区域,它是一个哈希图,而SelectedRegions是一个数组列表。我正在区域地图上进行迭代,并显示旁边带有文本的复选框作为我的区域地图的值。现在,在进行迭代时,如果阵列列表中有region map的值可用,则需要选中此复选框。否则联合国检查。我尝试了如下所示的方法。但是它不起作用。
<s:iterator value="regions"> <li> <div class="listClass"> <s:if test="#regions.value==selectedRegions.value"> <input type="checkbox" id='myTheater' checked="checked" name="theaterCheckBox" class="theaterCheckBox" /> <s:property value="value" /> </s:if> <s:else> <input type="checkbox" id='myTheater' name="theaterCheckBox" class="theaterCheckBox" /> <s:property value="value" /> </s:else> </div> <div class="checkboxDiv"> <input type="checkbox" id="allFeatured" class="featuredCheckBox" /> </div> </li> </s:iterator>
一些如何,我正在使用的if条件不起作用。你能让我知道如何做到这一点吗?
确实有很多方法可以做到这一点。您还应该检出<s:checkbox/>and <s:checkboxlist/>标签;
<s:checkbox/>
<s:checkboxlist/>
还要注意的是跟着干,你可以把<s:if>周围的checked="checked"只是一部分,因为所有其余的都是一样的。
<s:if>
checked="checked"
为了保持简单,按原样编写代码,一种方法是使用OGNL的in( contains )和OGNL的{}( list projection ),如下所示:
in
{}
<s:iterator value="regions"> <li> <div class="listClass"> <input type = "checkbox" id = "myTheater" <s:if test="%{value in selectedRegions.{value}}"> checked = "checked" </s:if> name = "theaterCheckBox" class = "theaterCheckBox" /> <s:property value="value" /> </div> <div class="checkboxDiv"> <input type="checkbox" id="allFeatured" class="featuredCheckBox" /> </div> </li> </s:iterator>