簡體   English   中英

吊索資源與節點

[英]Sling resource vs nodes

我無法理解為什么您會在吊索中使用資源而不是節點。 所以說我有一些簡單的訪問節點,如下所示:

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中獲取它們,而缺少的屬性不會拋出異常。

上面的文檔應該解釋主要模式,簡而言之是:

  • 您從吊索請求中獲取資源,或使用ResourceResolver服務
  • 可以將資源適應ValueMap以訪問其屬性
  • 如果需要切換到JCR API,可以將資源適應節點
  • Resource.listChildren(...)與Node.getNodes()類似
  • Resource.getResourceResolver()提供了一個ResourceResolver,它可以通過搜索或按路徑訪問其他資源。

資源的存在是為了對內容存儲進行抽象化,以便可以在Sling中使用除JCR之外的其他后端,並統一Sling在其內部使用的數據和內容的視圖。

在應用程序級編程中,我認為JCR API非常好,我不會僅出於此目的而使用Resource。 但是在某些情況下,Resource API使事情變得更簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM