我遇到了这种情况。
class MyForm extends IdSelectionForm { private Boolean approveIt = true; ..... }
我的JSTL表格包括
<html:checkbox property="approveIt" styleId="style1" value="true"/>
当我选择复选框并提交时。在struts动作中,我为此字段设置了真实值。再次,当我取消选中并提交时。然后,我也获得了真正的价值。我想知道它是否具有默认值。当我取消选中时,是否应将其覆盖为false。
首先,<html:checkbox>是Struts标记而不是JSTL标记。此标记仅生成类型为复选框的标准HTML输入。HTML复选框在选中时将其值作为参数值发送,而在未选中时不发送任何参数。
<html:checkbox>
因此,由于您的表单字段的默认值为true:
该approveIt属性的默认值应为false。这样,如果未选中该复选框,它将保留其默认值(false),这是正确的。如果选中该复选框,则将其设置为true,这也是正确的。
approveIt