使用 Struts `
public class CheckBoxForm extends ActionForm {
private String id = "on"; // 預設勾選
// private String id = ""; // 預設不勾選
public String getId() { return id; }
public void setId(String id) { this.id = id; }
}
<html:checkbox property="id">CheckBox</html:checkbox>
<!-- 渲染為 -->
<input type="checkbox" name="id" checked="checked">CheckBox</input>
if ("on".equals(form.getId())) { /* 勾選 */ }
else if ("".equals(form.getId())) { /* 未勾選 */ }
若在 FormBean 初始化屬性為 `true`(或 `"on"`),Struts 在每次請求處理前會呼叫 `reset()` 方法將屬性重置為 `false`,導致首次進入頁面時核取方塊不會被勾選。
在 checkbox 後方加入同名、值為 `"false"` 的隱藏欄位,強迫 Struts 在表單提交時重新設定屬性值:
<html:checkbox property="syaken"/>
<input type="hidden" name="syaken" value="false">