Model 如何通过吊索模型从Aem选择选项中检索名称-值对

Model 如何通过吊索模型从Aem选择选项中检索名称-值对,model,aem,sling,Model,Aem,Sling,我有多个选择下拉列表,其中下拉列表(比如myLocale)将保存为页面下的字符串[]。在那里我可以看到属性myLocale字符串[]en,us,gb。即“我的页面”中“组件”下的选项值。假设我还想检索选项名。如何在sling模型中实现这一点。我看不到名称被保存在我的页面下的组件节点下。该名称通常只是一个标签,让使用multi-select的人感觉更舒适。它不包括在标准表格提交中。 您有几个选项可以解决此问题: 1.您可以让表单编辑器写下类似“value | label”的内容,而不只是在opti

我有多个选择下拉列表,其中下拉列表(比如myLocale)将保存为页面下的字符串[]。在那里我可以看到属性myLocale字符串[]en,us,gb。即“我的页面”中“组件”下的选项值。假设我还想检索选项名。如何在sling模型中实现这一点。我看不到名称被保存在我的页面下的组件节点下。

该名称通常只是一个标签,让使用multi-select的人感觉更舒适。它不包括在标准表格提交中。 您有几个选项可以解决此问题: 1.您可以让表单编辑器写下类似“value | label”的内容,而不只是在option标记的value属性中包含该值。一旦它被写入回购协议,你就可以把它分开。但我认为这不是最好的解决方案。。。 2.另一个选项-如果我们谈论的是内容页的选择选项(而不是编辑器对话框),则是访问内容页和组件-您的sling模型应该具有此资源-然后从中读取值。 3.如果您讨论的是编辑器对话框,请尝试将选项存储在单独的文件中并访问该文件


HTH

您可以获得一个valuemap,其中包含作为组件或资源的键值对的属性名称和值。这
ValueMap properties=currentResource.getValueMap()
将为您提供存储在属性中的valuemap,然后您可以对其进行迭代。希望这有帮助。

您好,欢迎来到Stack Overflow。这里有许多可以使用的字段对话框,这些字段可以在JCR中以不同的格式存储数据。了解您使用了哪些资源(资源类型)以及对话框的结构将非常有用。最终,从Sling模型的角度来看,重要的是底层内容结构。提交对话框后,数据如何保存在存储库中?另外,请发布您尝试过的代码,并描述您得到的结果。谢谢您的回复Oliver。如果您能指导我如何在AEM/CQ中到期。这里我们有存储在组件中的名称:值对。但是,当我们将组件拖到页面中时,页面将仅使用下拉列表的值(字符串[])保存,而不是名称/值对。您好,这将从组件资源中获得名称-值对。我想要从对话框中选择的选项的名称-值对,并将其保存为/content/site/MyPage下的字符串[]en,gb,cn。在这里,我只能看到保存的值,而不能看到相应的名称。Tagmanager使用TagID获取标记名。我们可以将TagManager用于下拉值或任何类似的API吗?无论您的数据存储在哪里,这都无关紧要。你只需要适应相应的资源。如果有适当的资源对象,则可以获取相应资源的valuemap,无论它是页面属性还是字符串[]。