Sling 从 java 代码访问 JCR 'var' 资源
Sling acces to JCR 'var' resource from java code
我是 Sling
的初学者,我想找到一种方法来访问 JCR 的 /var
资源并创建文件。
我尝试使用 ResourceResolver
但我找不到路径,如下例所示
request.getResourceResolver().getResource("var");
它 returns null
.
从SlingHttpServletRequest
得到resourceResolver
是个好办法吗?
首先,JCR 路径应始终以 /
开头。所以你的代码几乎是正确的。
变化:
request.getResourceResolver().getResource("var");
收件人:
request.getResourceResolver().getResource("/var");
如果您的 ResourceResolver
具有读取 /var
的权限,您将获得 Resource
。否则,你会得到 null
。如果您从 request
获得 ResourceResolver
,则权限取决于发出请求的用户的权限。
Getting resourceResolver from SlingHttpServletRequest is a good way to get it?
视情况而定。关于"where to get your ResourceResolver
"的说法很多,但是为了简单起见:
If you want to limit access to a resource based on a users permissions, you should get the ResourceResolver
from a request
. In all other situations, get the ResourceResolver
from the ResourceResolverFactory
.
ResourceResolverFactory
是它自己的兔子洞。所以我会指出你的文档:
https://sling.apache.org/apidocs/sling9/org/apache/sling/api/resource/ResourceResolver.html
我是 Sling
的初学者,我想找到一种方法来访问 JCR 的 /var
资源并创建文件。
我尝试使用 ResourceResolver
但我找不到路径,如下例所示
request.getResourceResolver().getResource("var");
它 returns null
.
从SlingHttpServletRequest
得到resourceResolver
是个好办法吗?
首先,JCR 路径应始终以 /
开头。所以你的代码几乎是正确的。
变化:
request.getResourceResolver().getResource("var");
收件人:
request.getResourceResolver().getResource("/var");
如果您的 ResourceResolver
具有读取 /var
的权限,您将获得 Resource
。否则,你会得到 null
。如果您从 request
获得 ResourceResolver
,则权限取决于发出请求的用户的权限。
Getting resourceResolver from SlingHttpServletRequest is a good way to get it?
视情况而定。关于"where to get your ResourceResolver
"的说法很多,但是为了简单起见:
If you want to limit access to a resource based on a users permissions, you should get the
ResourceResolver
from arequest
. In all other situations, get theResourceResolver
from theResourceResolverFactory
.
ResourceResolverFactory
是它自己的兔子洞。所以我会指出你的文档:
https://sling.apache.org/apidocs/sling9/org/apache/sling/api/resource/ResourceResolver.html