2016-01-18 20 views
1

我想了解CQ表單組件如何工作。 我看到他們使用了一個名爲'資源'的變量。例如,在每個組件網絡開始時,它始終如此:CQ/AEM - CQ表單組件中的'資源'是什麼?

final String name = FormsHelper.getParameterName(resource); 
final String id = FormsHelper.getFieldId(slingRequest, resource); 
final boolean required = FormsHelper.isRequired(resource); 

我知道Sling將所有東西視爲資源。但是,這個特定的'資源'究竟是什麼?它在哪裏定義?它從何而來?它包含什麼?

回答

3

資源變量是org.apache.sling.api.resource.Resource的實現,它是一個對象,它表示jcr存儲庫中的一個節點實體,但與其他便利方法相比,它有一些額外的便利方法。下級javax.jcr.Node對象。 在這種情況下,上述資源可能代表組件的資源。

要解釋爲什麼吊帶使用的術語資源:

資源是RESTful API中的一個基本概念。 資源是具有關聯數據的類型化對象,與其他資源的關係以及對其進行操作的方法。

Sling實際上是一個位於Java內容庫頂部的寧靜層。 對於吊索層來說,存儲庫是一個虛擬的資源樹。 我強烈建議您閱讀有關此主題的更多詳細信息的官方文檔https://sling.apache.org/documentation/the-sling-engine/resources.html

+1

請注意,雖然JCR是Sling的主要持久性,但肯定還有其他資源提供程序,請參閱https://sling.apache.org/documentation /bundles/accessing-filesystem-resources-extensions-fsresource.html和https://sling.apache.org/documentation/bundles/nosql-resource-providers.html。 –