我正试图通过它的标识符来检索jcr资源。基本上我正在做以下事情。
COMPONENT1
String compID = resource.adaptTo(Node.class).getIdentifier();
然后当它传递给component2时,我想检索component1。如果它有助于我通过查询字符串参数传递标识符,以帮助支持其他一些客户端要求。
COMPONENT2
//code to get id from query string
//want to do something like:
Node resNode = resourceResolver.adaptTo(Node.class);
Session jcrSession = resNode.getSession();
Resource myRes = jcrSession.getNodeByIdentifier(eventId).adaptTo(Resource.class);
//use myRes as I please.
第二个例子当然不起作用,我意识到Node没有适应支持。所以我或多或少好奇,如果有人能够阐明我如何能够完成我的component2示例未能做到的事情。
谢谢你, 布罗迪答案 0 :(得分:2)
您应该ResourceResolver
直接调整为Session
。然后通过标识符获取节点。无法从Resource
创建Node
,因此请使用Node
路径并从Resource
获取ResourceResolver
:
Session jcrSession = resourceResolver.adaptTo(Session.class);
Node node = jcrSession.getNodeByIdentifier(eventId);
Resource resource = resourceResolver.getResource(node.getPath());