如何访问存储在 jcr 节点中的字符串数组?
how can I access the string array stored in jcr node?
在我的 jcr 节点中,我有键 subpage
并且它保存类型 String[]
:
的值
{"title":"some title1", "url":"some url1"}
{"title":"some title2", "url":"some url2"}
{"title":"some title3", "url":"some url3"}
{"title":"some title4", "url":"some url4"}
如何在 java 中访问它?
我试过:
ValueMap contentValueMap = resource.getValueMap();
String subpages = contentValueMap.get("subpage", String.class);
System.out.println(subpages);
但它只打印第一个字符串:
{"title":"some title1", "url":"some url1"}
我怎样才能联系到其他人?
这应该有效-
String[] subpages = contentValueMap.get("subpage", String[].class);
正如 awd 提到的那样
String[] subPages = contentValueMap.get("subpage", String[].class);
有效并且是推荐的解决方案。这是在 Sling 层访问数据。以防万一您需要深入研究并访问 JCR 层,代码将类似于
Node node=resource.adaptTo(Node.class);
Value[] subPages = node.getProperty("subpage").getValues();
这将有助于节点级别的操作。但建议在 Sling 或 AEM 的更高层工作。
在我的 jcr 节点中,我有键 subpage
并且它保存类型 String[]
:
{"title":"some title1", "url":"some url1"}
{"title":"some title2", "url":"some url2"}
{"title":"some title3", "url":"some url3"}
{"title":"some title4", "url":"some url4"}
如何在 java 中访问它?
我试过:
ValueMap contentValueMap = resource.getValueMap();
String subpages = contentValueMap.get("subpage", String.class);
System.out.println(subpages);
但它只打印第一个字符串:
{"title":"some title1", "url":"some url1"}
我怎样才能联系到其他人?
这应该有效-
String[] subpages = contentValueMap.get("subpage", String[].class);
正如 awd 提到的那样
String[] subPages = contentValueMap.get("subpage", String[].class);
有效并且是推荐的解决方案。这是在 Sling 层访问数据。以防万一您需要深入研究并访问 JCR 层,代码将类似于
Node node=resource.adaptTo(Node.class);
Value[] subPages = node.getProperty("subpage").getValues();
这将有助于节点级别的操作。但建议在 Sling 或 AEM 的更高层工作。