【问题标题】:Magnolia JCR get LinkedList Property ItemsMagnolia JCR 获取 LinkedList 属性项
【发布时间】:2017-12-08 12:59:30
【问题描述】:

我正在尝试检索节点 0 的属性 - 标记值,我相信这是一个linkedList 对象属性。如您所见,它是 [****,****]

我希望检索对象值并存储到List<String> 对象中 所以我可以将每个值取出以供后期使用,例如

String idA = "542f74fd-bfaf-4377-854a-8e62082edc6c"; 
string idB = "39aab11f-243f-464c-ae6d-c1f069f17d6c";

我的尝试如下:

List<String> tagList = new ArrayList<String>();
tagList = componentNode.getProperties(node, "tags");

也试过这个:

List<String> tagList = new ArrayList<String>();
tagList = PropertyUtil.getProperty(node, "tags");

但它们都不起作用。

请向我推荐代码示例。 谢谢

【问题讨论】:

    标签: java linked-list jcr magnolia xpathnodeiterator


    【解决方案1】:

    我相信它们在 JCR 中被称为多值属性,并且通过数组而不是列表来支持。

    我自己没有测试过代码,但我相信它会起作用。 这应该可以解决问题:

      Property property = node.getProperty("tags");     
      Value[] tags = property.getValues();
    

    如果你真的想的话,你可以将它转换/包装成 List。

    希望对你有帮助,

    干杯,

    【讨论】:

    • 更好:List&lt;String&gt; tags = info.magnolia.jcr.util.PropertyUtil.getValuesStringList(node.getProperty("tags").getValues());
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多