我正在将复选框从 Struts 1 迁移到 Struts 2, 所以我改变了Struts 1的代码
<html:checkbox style="border:0px" property="eDir" disabled="true"/>
到
<s:checkbox theme="simple" style="border:0px" name="eDir" disabled="true"></s:checkbox>
但是即使该值是
true
,我也没有选中该复选框
下面是两者的html脚本
Struts 1 HTML:
<input type="checkbox" name="eDir2ColTrue" value="on" checked="checked" disabled="disabled" style="border:0px">
Struts 2 HTML:
<input type="checkbox" name="eDir2ColTrue" value="true" disabled="disabled" id="eDir2ColTrue" style="border:0px">
<input type="hidden" id="__checkbox_eDir2ColTrue" name="__checkbox_eDir2ColTrue" value="true" disabled="disabled">
该字段是布尔值。我从模型对象中获取其在操作类中的值为 true ..但仍然未经检查。
更新:
我尝试了这个,但它没有编译
<s:checkbox theme="simple" style="border:0px" key="eDir" disabled="true" <s:if test='${eDir}' >checked="checked"</s:if>></s:checkbox>
更新1:
我尝试了这个,但没有检查属性,因此尽管其值为 true,但没有检查它
<s:checkbox theme="simple" style="border:0px" key="eDir" disabled="true" value="%{#eDir}"></s:checkbox>
更新2:
当我打印时,即
<c:out value="${eDir}"></c:out>
,我得到的值为true
但同样我把它放在 value 属性中,它仍然没有选中属性。
<s:checkbox theme="simple" style="border:0px" key="eDir" disabled="true" value="${eDir}"></s:checkbox>