2013-02-26 106 views
0

我有一组复选框,如果我在窗体上选中或取消选中它们,Action窗体中的setCheckboxes方法在发布后会被触发。但是,当所有复选框未被选中时,它都不会触发。如何做到这一点?Struts复选框的值不能为零

+0

然后把一个隐藏的变量在jsp中,这表明所有至少一个复选框被检查。基于该条件调用该方法在行动 – PSR 2013-02-26 13:08:58

+0

我认为这将解决您的问题 – PSR 2013-02-26 13:09:59

+1

未经检查的复选框未提交;这就是HTTP的工作原理。评论说使用某种隐藏价值是一般的解决方法,但不清楚(a)发生了什么,以及(b)你希望发生什么。无论复选框值如何,表单都将被提交。 – 2013-02-26 13:11:53

回答

0

这里的问题是,如果复选框未选中,struts将不会填充它。

如果您在窗体类中具有特定字段作为布尔值,则可以使用javascript 函数查找未选中的复选框,并尝试在url中将该值附加为false。

例如。

http://youraction.do?checkBox1=false&checkBox2=false 

这将解决您的问题。

0

而不是依赖于JavaScript或一些解决方法来获取虚假值发送,只是假设值将为假(覆盖reset()方法将全部设置为false),任何检查将被提交和setCheckbox ()将被调用。

有没有其他的原因,你想setCheckbox被称为?

+0

Steve,我想要setCheckbox被调用,即使没有任何检查。是的,这是有原因的。 – mike628 2013-03-02 12:06:19