一尘不染

如何使用struts 2标签检查jsp中的list.contains

jsp

我需要显示一系列复选框,如果条件成功,则需要对其进行检查。下面是我的代码。我有一个区域,它是一个哈希图,而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条件不起作用。你能让我知道如何做到这一点吗?


阅读 333

收藏
2020-06-08

共1个答案

一尘不染

确实有很多方法可以做到这一点。您还应该检出<s:checkbox/>and <s:checkboxlist/>标签;

还要注意的是跟着干,你可以把<s:if>周围的checked="checked"只是一部分,因为所有其余的都是一样的。

为了保持简单,按原样编写代码,一种方法是使用OGNL的incontains )和OGNL的{}list projection
),如下所示:

<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>
2020-06-08