小编典典

取消选中复选框时,struts复选框标签将提交什么值

jsp

我遇到了这种情况。

class MyForm extends IdSelectionForm {
  private Boolean approveIt = true;
  .....
}

我的JSTL表格包括

<html:checkbox property="approveIt" styleId="style1" value="true"/>

当我选择复选框并提交时。在struts动作中,我为此字段设置了真实值。再次,当我取消选中并提交时。然后,我也获得了真正的价值。我想知道它是否具有默认值。当我取消选中时,是否应将其覆盖为false。


阅读 267

收藏
2020-06-08

共1个答案

小编典典

首先,<html:checkbox>是Struts标记而不是JSTL标记。此标记仅生成类型为复选框的标准HTML输入。HTML复选框在选中时将其值作为参数值发送,而在未选中时不发送任何参数。

因此,由于您的表单字段的默认值为true:

  • 如果选中此复选框,Struts会将其设置为true
  • 如果未选中该复选框,则Struts不会将其设置为任何值,因此将保留其默认值:true

approveIt属性的默认值应为false。这样,如果未选中该复选框,它将保留其默认值(false),这是正确的。如果选中该复选框,则将其设置为true,这也是正确的。

2020-06-08