当前位置: 首页 > 面试题库 >

吊索资源与节点

俞涵涤
2023-03-14
问题内容

我无法理解为什么您会在吊索中使用资源而不是节点。所以说我有一些简单的访问节点,如下所示:

NodeIterator headerNode = currentNode.getNodes();
//loop through and do something with the nodes.

您将如何处理资源而不是节点。我听说您通常应该使用吊索而不是节点来处理资源。但为什么?我真的不明白这样做会有什么好处。我想我也很难掌握什么资源。我知道有文档,但是找不到有关如何使用它们的代码示例。


问题答案:

要查看的主要文档是http://sling.apache.org/documentation/the-sling-
engine/resources.html
,其中说明了资源概念以及如何使用它们。

该API与JCR节点API有所不同,但是使用相似的概念。使用资源显然更简单的一件事是访问属性值,因为您在ValueMap中获取它们,而缺少的属性不会抛出异常。

上面的文档应该解释主要模式,简而言之是:

  • 您可以从Sling请求中获取资源,或使用ResourceResolver服务
  • 可以使资源适应ValueMap以访问其属性
  • 如果需要切换到JCR API,可以将资源适应节点
  • Resource.listChildren(…)与Node.getNodes()相似
  • Resource.getResourceResolver()提供了一个ResourceResolver,它可以通过搜索或按路径访问其他资源。

资源的存在是为了对内容存储进行抽象化,以便可以在Sling中使用除JCR之外的其他后端,并统一Sling在其内部使用的数据和内容的视图。

在我看来,对于应用程序级编程,JCR API非常好,我不会仅出于此目的而使用Resource。但是在某些情况下,Resource API使事情变得更简单。



 类似资料:
  • 我正在使用户外社区,当我试图获得以下信息时: http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/nodes/-root-/children

  • 好的,现在在我的工作中,我们正在讨论使用资源进行尝试和异常抑制。 快速总结:java 7中的try-with资源消除了关闭资源的麻烦块的需要。我个人觉得这更优雅,但我有一个同事不相信。他不喜欢一个异常被抑制,并一直认为我们通过它松散信息。 起初我相信他的话,因为我是初级开发人员,他是高级开发人员,我是新来的,等等。但是我最近发现,嘿,所有的信息都进入了堆栈跟踪,包括被抑制的异常。所以那里没有信息丢

  • 编辑:我看过纱线Resourcemanager没有连接到nodemanager,解决方案对我不起作用。我已经附加了节点管理器日志中与资源管理器建立连接的部分: 出于某种原因,它说它连接到0.0.0.0。当我ssh到其中一个数据节点并ping resource-manager时,我会得到一个响应,因此它能够解析主机名。 节点2-次要Namenode(hadoop-hdfs-secondaryname

  • 由于我的两个JPA实体(任务和作业)的双向关系中的嵌套循环,我出现了Jackson错误。我开始研究并使用@JsonManagedResources和@JsonBackResources注释部分解决了这个问题,但此方法仅在我在实体中使用注释时才有效,最终JSON序列化跳过我的JobResource/JobResourceAssembler和TaskResource/TaskResourceAssem

  • 我正在使用和版本27,在上一个版本中,我为我的项目使用了新的字体资源功能,但一天后,这行代码出现了3次崩溃 崩溃报告说这是因为android。所容纳之物无法检索res.Resources$NotFoundException和字体资源。所有3次崩溃都发生在android版本为5.1.1的用户身上。这是支持库中的错误还是我做错了什么?

  • 来自维基百科: 要发起跨源请求,浏览器发送带有源HTTP标头的请求。这个标题的值是为页面服务的站点。例如,假设http://www.example-social-network.com上的一个页面试图访问online-personal-calendar.com中的用户数据。如果用户的浏览器实现了CORS,则将发送以下请求头: 来源:http://www.example-social-network