我创建了一个带有复选框的触摸UI对话框。我使用了post servlet后缀@TypeHint,以便返回的值是布尔值(true或false)
我的代码 -
<enableTooltip
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/checkbox"
name="./enableTooltip"
text="Enable tooltip?"
value="true"/>
<enableTooltipType
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/hidden"
name="./enableTooltip@TypeHint"
value="Boolean"/>
现在,当我尝试运行这个明确的声明时 -
<p data-sly-test="${properties.enableTooltip}">This is test data</p>
&#34;这是测试数据&#34;无论是否选中复选框,都会始终打印。 怎么了?
提前致谢!
答案 0 :(得分:2)
根据文件https://docs.adobe.com/docs/en/aem/6-3/develop/ref/granite-ui/api/jcr_root/libs/granite/ui/components/foundation/form/checkbox/index.html,您所做的是正确的。您可以尝试以下示例,这在AEM 6.2中完全适用于我:
在对话框中:
<myCheckbox
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/checkbox"
name="./selected" text="Show Checkbox Value"
uncheckedValue="false"
value="{Boolean}true"/>
在Html中:
<h1 data-sly-test.selected="${properties.selected}" >${selected}</h1>