如何使用<s:if>标记解决问题,无法正确识别布尔值

时间:2019-06-06 09:08:30

标签: jsp struts2

我正在处理一个记录用户评分反馈的问题。我从列表中的后端获取值,并基于从该列表中迭代的值显示单选按钮。我看到那不是正确检查布尔值

我尝试添加布尔值,并更改了在其中测试变量的方式。没事

<s:iterator value="selectedList" status="choice">
    <td>
    <s:if test="#choice">
      <span class="radio" style="background-position: 0px -40px;">
                                         <p class="styled">Selected</p>
      </span>
    </s:if>
    <s:else>
      <span class="radio"><p class="styled">Not Selected</p></span>

    </s:else>
    </td>
</s:iterator>

如果选择为true,我希望单选按钮会被选中。实际结果是所有单选按钮都被选中

1 个答案:

答案 0 :(得分:0)

好的,我可以通过以下方式进行操作-

<s:iterator value="selectedList" status="choice">
    <s:set var="choiceStr"><s:property /></s:set>
        <td>
            <s:if test="#choiceStr == 'true'">
                <span class="radio" style="background-position: 0px -40px;">
                    <p class="styled">Selected</p>
                </span>
            </s:if>
            <s:else>
                <span class="radio"><p class="styled">Not Selected</p></span>
            </s:else>
        </td>
</s:iterator>