2014-11-21 41 views
4

Adob​​e AEM parsys組件呈現所有子級資源,並且如果WCM模式設置爲適當的值,它將顯示拖放組件部分,該部分可用於添加新段落。在下降成分部分的實現是很奇怪的 - 它嵌入與<cq:include>標籤單獨的組件,但路徑參數設置爲*(星):星型資源路徑的用途是什麼?

<cq:include path="*" resourceType="<%= newType %>"/> 

newType是一個Java變量集在此行之前)。

這裏會發生什麼?這顆恆星的目的是什麼?

回答

7

吊索provides a way自動創建資源名稱。如果您向以/*結尾的URL發送POST請求,Sling將使用文檔中描述的許多規則生成資源名稱。

如果攔截髮送到servlet或過濾器中/*資源的請求,並調用request.getResource()方法,則會得到一個StarResource對象。它擴展了SyntheticResource類型,表示JCR中沒有適當節點的資源。它的資源類型是sling:syntheticStarResource,你可以調用它的getParent()方法,但通常它不是很有用。嘗試將其調整爲ValueMap將失敗。 Sling提供了一個helper method,用於檢查給定的Resource是否爲StarResource

在問題中提到的段落系統實施的情況下,代碼的作者可能想顯示使用合成的資源,並提供*的路徑是做到這一點的最簡單的方法下降成分。您也可以確保資源始終是合成的,因爲使用該名稱創建節點是不可能的。