如何在 AEM 中的 json 中获取布尔值和数值 OOB
Posted
技术标签:
【中文标题】如何在 AEM 中的 json 中获取布尔值和数值 OOB【英文标题】:How to get boolean and numeric value OOB in json in AEM 【发布时间】:2016-02-17 05:43:41 【问题描述】:在页面上我有一个对话框,其中有一个数字字段。当我在此字段中设置任何值时,在 crx/de 的内容文件夹下,该值将以字符串形式出现。此外,在 infinity json 中,它仅作为字符串出现。请看下文
<Frequency
jcr:primaryType="cq:Widget"
allowBlank="false"
dName="frequency"
fieldLabel="Frequency(sec.):"
name="./duration"
xtype="numberfield"/>
有什么办法可以得到整数值OOB。否则,我必须在 js 或 java 代码中更改它。请提出建议。
【问题讨论】:
你能发布你的对话框定义吗? 请查看更改 【参考方案1】:即使您指定数字字段的 xtype,AEM 也会将该值作为字符串保存在 CRX 存储库中。您将不得不使用 Typehints 来持久化不同的数据类型。参考this
这是我刚刚尝试的 xml
<Frequency
jcr:primaryType="cq:Widget"
allowBlank="false"
fieldLabel="Frequency(sec.):"
name="./duration"
xtype="numberfield"/>
<FrequencyHint
jcr:primaryType="cq:Widget"
defaultValue="Long"
name="./duration@TypeHint"
value="Long"
xtype="hidden"/>
持续时间很长:
根据 sling docs,您应该能够坚持为 Boolean、Decimal、Long,也可以添加多值属性。
【讨论】:
感谢您的解决方案。我已经对此进行了测试,并且工作正常。以上是关于如何在 AEM 中的 json 中获取布尔值和数值 OOB的主要内容,如果未能解决你的问题,请参考以下文章