【问题标题】:Sling acces to JCR 'var' resource from java code从 Java 代码吊索访问 JCR 'var' 资源
【发布时间】:2019-03-12 22:07:56
【问题描述】:

我是 Sling 的初学者,我想找到一种方法来访问并在 JCR 的 /var 资源中创建文件。

我尝试使用ResourceResolver,但找不到路径,如下例所示 request.getResourceResolver().getResource("var"); 它返回 null

SlingHttpServletRequest 获取resourceResolver 是获取它的好方法吗?

【问题讨论】:

    标签: resources sling jcr


    【解决方案1】:

    首先,JCR 路径应始终以/ 开头。所以你的代码几乎是正确的。

    变化:

    request.getResourceResolver().getResource("var");
    

    收件人:

    request.getResourceResolver().getResource("/var");
    

    如果您的ResourceResolver 有权读取/var,您将获得Resource。否则,你会得到null。如果您从request 获取ResourceResolver,则权限取决于执行请求的用户的权限。

    从SlingHttpServletRequest中获取resourceResolver是不是好办法?

    这取决于。关于“从哪里获取您的ResourceResolver”有很多话要说,但为了简单起见:

    如果您想根据用户权限限制对资源的访问,您应该从request 获取ResourceResolver。在所有其他情况下,从ResourceResolverFactory 获取ResourceResolver

    ResourceResolverFactory 是它自己的兔子洞。所以我会指出你的文档:

    https://sling.apache.org/apidocs/sling9/org/apache/sling/api/resource/ResourceResolver.html

    【讨论】:

      猜你喜欢
      • 2013-05-31
      • 2011-11-05
      • 2014-09-13
      • 2013-12-20
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 2017-02-28
      • 1970-01-01
      相关资源
      最近更新 更多