获取节点属性时出现问题

时间:2015-03-26 05:44:43

标签: java cq5 jcr jackrabbit

我正在尝试在CQ中获取节点属性。但我无法获得这些房产。获得例外说它不是一条相对路径。

Session session;
Node root = session.getRootNode();
Node jcrContent = root.getNode("/content/moto/contact/jcr:content");
System.out.println("val:"+jcrContent.getProperty("jcr:title"));
  

发生异常Not a relative path: /content/moto/contact/jcr:content

请帮帮我。

2 个答案:

答案 0 :(得分:1)

如果您使用的是CQ5,您可能希望依赖Sling API而不是基础JCR。您可以将ResourceResolver用于此目的:

Resource resource=resourceResolver.getResource("/your/resource");
ValueMap props= resource.adaptTo(ValueMap.class)
String title= props.get("jcr:title");

资源解析器始终通过Sling请求(slingRequest.getResourceResolver())可用。如果您没有可用的请求(例如在工作流程中),您仍然可以获得一个请求,但这取决于您的方案

答案 1 :(得分:0)

尝试

Node root = session.getRootNode();
Node jcrContent = root.getNode("content/moto/contact/jcr:content");

#getNode()期望相对路径,而您提供绝对路径。因此错误not a relative path