<html:checkbox property="option" value="true" />
<input type="hidden" name="option" value="false">
How does it work? Well, the value of the hidden field as you know is always submited - so in the GET header it is visible as
but when we check the checkbox (on) its value is submited as well, so our header goes like this:
As you can see the option parameter is now duplicated in the header, but the header parser is reading only the first occurance of the parameter so our ActionForm is populated with the TRUE value.
Using this solutions is safe. All browsers shouldn't have any problems with it. It also doesn't depends on logic layer inside i.e. Action Classes witch makes the UI part of the application more transparent and transitable.