我无法理解为什么在吊索中使用资源而不是节点。所以说我有一些简单的访问节点,如下所示:
NodeIterator headerNode = currentNode.getNodes();
//loop through and do something with the nodes.
您将如何使用资源而不是节点。我听说你应该通常在吊索中使用资源而不是节点。但为什么?我真的不明白这会带来什么好处。我想我也很难掌握哪些资源。我知道有文档,但我找不到任何关于如何使用它们的代码示例。
答案 0 :(得分:8)
要查看的主要文档是http://sling.apache.org/documentation/the-sling-engine/resources.html,它解释了资源概念以及如何使用它们。
API与JCR节点API略有不同,但使用了类似的概念。使用Resources肯定更简单的一件事是访问属性值,因为你在ValueMap中获取属性值,并且缺少属性不会抛出例外。
以上文档应解释主要模式,简而言之:
资源的存在是为了抽象内容存储,以便在Sling中使用除JCR之外的其他后端,并统一Sling对其内部使用的数据和内容的看法。
对于应用程序级编程,我认为JCR API非常好,我不会仅仅为了它而使用Resource。但在某些情况下,Resource API会使事情变得更简单。