<s:behavior b:name="checkbox"> <s:event b:on="construct"> <s:task b:test="input/@checked" b:action="select"/> </s:event> <s:event b:on="command"> <s:task b:action="select-deselect" b:target="input"/> <s:task b:action="select-deselect"/> </s:event> <s:state b:on="deselect" b:normal="checkbox"/> <s:state b:on="select" b:normal="checkbox checkbox-select"/> </s:behavior> <s:behavior b:name="radio"> <s:event b:on="construct"> <s:task b:test="input/@checked" b:action="trigger" b:event="command"/> </s:event> <s:event b:on="command"> <s:task b:action="deselect" b:target="ancestor::form[1]//a[input[@type='radio' and @name = current()/input/@name]]"/> <s:task b:action="select"/> </s:event> <s:event b:on="select"> <s:task b:action="set" b:target="input/@checked" b:value="checked"/> </s:event> <s:event b:on="deselect"> <s:task b:action="remove" b:target="input/@checked"/> </s:event> <s:state b:on="deselect" b:normal="radio"/> <s:state b:on="select" b:normal="radio radio-select"/> </s:behavior> <form target="_self"> <fieldset> <legend>Custom form components</legend> <fieldset> <legend>Checkboxes</legend> <a b:behavior="checkbox"> <input type="checkbox" name="check" value="1"/> <label>Check 1</label> </a><br/> <a b:behavior="checkbox"> <input type="checkbox" name="check" value="2"/> <label>Check 2</label> </a><br/> <a b:behavior="checkbox"> <input type="checkbox" name="check" value="3"/> <label>Check 3</label> </a><br/> <a b:behavior="checkbox"> <input type="checkbox" name="check" checked="checked" value="4"/> <label>Check 4</label> </a> </fieldset> <fieldset> <legend>Radiobuttons</legend> <a b:behavior="radio"> <input type="radio" name="radio" value="1"/> <label>Radio 1</label> </a><br/> <a b:behavior="radio"> <input type="radio" name="radio" value="2" checked="checked"/> <label>Radio 2</label> </a><br/> <a b:behavior="radio"> <input type="radio" name="radio" value="3"/> <label>Radio 3</label> </a><br/> <a b:behavior="radio"> <input type="radio" name="radio" value="4"/> <label>Radio 1</label> </a><br/> <a b:behavior="radio"> <input type="radio" name="radio" value="5"/> <label>Radio 2</label> </a> </fieldset> <p> <input type="submit"/> </p> </fieldset> </form>