2013-02-26 75 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