Aem 将CQ组件字段值保存为Long而不是String

Aem 将CQ组件字段值保存为Long而不是String,aem,Aem,我试图将作者在a中输入的值保存为“Long”而不是“String”。有没有办法进行配置,或者我是否编写了自定义内容?您可以使用。添加一个名为=的隐藏字段(xtype:hidden),这对我来说很好。:) 如下添加双精度值及其十进制值失败,即不允许使用十进制值 <price jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/form/numberfield" field

我试图将作者在a中输入的值保存为“Long”而不是“String”。有没有办法进行配置,或者我是否编写了自定义内容?

您可以使用。添加一个名为=的隐藏字段(xtype:hidden),这对我来说很好。:)


如下添加双精度值及其十进制值失败,即不允许使用十进制值

<price jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/numberfield"
fieldLabel="Product Price"
name="./price"/>
<priceHint jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/form/hidden"
name="./price@TypeHint" 
value="Double"
defaultValue="Double"/>


谢谢Sharath!这就是我的dialog.xml的样子。而且它不起作用。你知道为什么吗?Decimal不是TypeHint的有效值。把它改成Long。例如name=“/noOfViews@TypeHint“value=”Long“@mayurM在没有ignoreData的情况下尝试attribute@SharathMadappa那也不行。这里是更新的XML@VeraAung,它不适用于我的双精度和十进制值,当我们尝试输入一个像45.33这样的值时,会给出验证消息。我不确定数字字段是否使用Double as typeHint,但引用此代码并使用Long(不是Double)对我有效。
<price jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/numberfield"
fieldLabel="Product Price"
name="./price"/>
<priceHint jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/foundation/form/hidden"
name="./price@TypeHint" 
value="Double"
defaultValue="Double"/>