如何解决 <s:if> 标签未正确识别布尔值的问题

How to fix the issue with <s:if> tag whcih is not identifying boolean value correctly

我正在处理记录用户评级反馈的问题。我从列表中的后端获取值,并根据从该列表迭代的值显示单选按钮。我看到没有正确检查布尔值

我已经尝试添加布尔值并更改了内部测试变量的方式。没有解决

<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>

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

好的,我通过以下方式让它工作了 -

<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>