我有一组xtypes定义的对话框。 xtype中的一个是"选择"使用类型"选择"。 现在每个选项都有一个值类型" String []" ,但是当我将组件添加到页面并查看选项内容时。
它存储为" String"而不是" String []"。
有人能告诉我如何制作/强制xtype将其值存储在" String []"而不是" String"。
答案 0 :(得分:2)
您可以使用其中一个Sling参数通过SlingPostServlet
操纵内容创建。阅读更多:here
实际上,只需在对话框中添加一个隐藏字段,该字段将传递具有预期属性类型的@TypeHint
参数。如果您的xtype将数据保存到例如cities
属性您可以添加以下内容:
<citiesTypeHint
jcr:primaryType="cq:Widget"
name="cities@TypeHint"
value="String[]"
xtype="hidden"
答案 1 :(得分:0)
在dialog.xml中添加xtype时,请将其添加为:
property=value
这将创建一个property
String
类型,其值为value
。
如果您希望数组将值放在[]
中,则为:
property="[value1,value2,value3,...]"
这将创建property
String[]
类型,其值为value
。如果你想添加更多,请与昏迷分开。
如果要定义dataType,请:
property="{dataType}value"
这将创建property
dataType
类型,其值为value
。其中dataType可以是Boolean, Date, Long, etc
如果您使用crx / de添加Property,请点击右下角的add multi
按钮。
希望这有助于...... :)
答案 2 :(得分:0)
MateuszChromiński变体几乎为我工作,除了value="String[]"
导致emprty属性,所以我使用defaultValue="String[]"
并且它工作得很完美。
<targetGroupsTypeHint
jcr:primaryType="cq:Widget"
name="./targetGroups@TypeHint"
defaultValue="String[]"
xtype="hidden"/>
答案 3 :(得分:-1)
在对话框中输入以下内容:
typeHint="String[]"