如何在JCR中获取节点属性的数组值

4

需要获取节点属性的string[]值吗?

例如,我有一个名为“image”的节点,它具有类型为String[]的属性“references”。我需要获取数组的第一个值。

谢谢

2个回答

12

从Node中,您可以获取references属性。然后调用getValues以获取引用值。从那里,只需取第一个。类似于:

从Node中,您可以获取references属性。然后调用getValues以获取引用值。从那里,只需取第一个。类似于

public String getFirstReference(Node node) throws RepositoryException {
  Property references = node.getProperty("references");     
  Value[] values = references.getValues();
  return values[0].getString();     
}

1
在jackrabbit的first hops页面上有一些有用的与JCR相关的示例。 - diffa
1
如果您正在使用CQ5中的Sling,则可以将Resource适应为ValueMap或在JSP中使用属性对象。例如:properties.get(“references”,String [] .class) - diffa
1
@user2000633:认同某人的回答最好的方式是给他们投票。 - Trevor

2
Property nProp = node.getProperty("references");
Value[] values = propertyNode.getValues();
for (Value v : values) {
    System.out.println("Property Name = "+nProp.getName()+" ; Property Value= "+v.getString());
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接