我正在尝试在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
请帮帮我。
答案 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
。