要将复选框设置为默认值已选中并将属性保存为 JCR 中的布尔属性类型(而不是字符串),请使用以下经典 UI 设置:
<myCheckbox
jcr:primaryType="cq:Widget"
fieldLabel="My Checkbox"
name="./myCheckbox"
value="true"
defaultValue="true"
checkboxBoolTypeHint="{Boolean}true"
type="checkbox"
xtype="selection"/>
或者在 Granite Touch UI 中使用以下设置:
<myCheckbox
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/checkbox"
text="My Checkbox"
name="./myCheckbox"
value="true"
checked="true"/>
<myCheckboxType
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/hidden"
name="./myCheckbox@TypeHint"
value="Boolean"/>
在http://www.nateyolles.com/blog/2015/11/aem-checkboxes-using-sling-post-servlet上有详细的文章和演示。