2015-11-16 64 views
1

我正在使用AEM資源解析器,並且我目前在Adobe Sling資源解析器工廠上有以下配置。AEM資源解析器失敗

/content/mywebsite/>/ 

我有這樣的從組件生成一個標記,看起來像:

<a data-desktop='/content/mywebsite/desktop.html' 
    data-android-href='/content/mywebsite/android.html' 
    data-ios-href='/content/mywebsite/mywebsite/ios.html' 
    href='/content/mywebsite/normal.html'>Click here</a> 

這應該有理想得到解決的東西likeL

<a data-desktop='/desktop.html' 
data-adroid-href='/android.html' 
data-ios-href='ios.html' 
href='/normal.html'>Click here</a> 

具有諷刺意味的是最後上面的標籤中的href也沒有被資源解析器解析,我仍然在調度器上得到未解析的URL。

只有<a href='/content/mywebsite/something.html></a>'的標籤的所有其他資源解析器都得到解決。我不明白爲什麼資源解析器不會選擇具有多個數據元素的解析器。

回答

1

您確定取決於屬性的數量嗎?看起來你的配置隻影響資源分辨率而不影響輸出映射。該規則將應用於傳入請求,因此當用戶點擊您的AEM實例時,資源解析程序將查找資源/content/mywebsite.something以及映射到根(如果有)的其他路徑,但據我瞭解,它不會影響AEM呈現鏈接到該內容的方式。

試着改變你的規則,以便它採用雙向映射:/content/mywebsite/:/

引述URL映射的描述場在OSGi控制檯的Apache的吊索資源解析器廠配置:

要應用於路徑的映射列表。傳入映射用於請求映射到資源路徑的路徑,傳出映射用於將資源路徑映射到後續請求使用的路徑。格式爲<internalPathPrefix><op><externalPathPrefix>其中<op>">"爲傳入映射,"<"爲傳出映射和":"爲雙向應用的映射。通過比較和替換URL前綴來按照配置順序應用映射。注意:不建議使用"-"作爲指示雙向映射的<op>值。 (resource.resolver.mapping

您可以輕鬆地測試你的SETIN阿帕奇吊帶資源解析器廠使用OSGi控制檯的資源解析器頁上的配置測試領域的配置。你會在http://<host>:<port>/system/console/jcrresolver

使用發現它解決地圖按鈕se.e路徑如何轉換兩種方式。

此外,如果組件之間的行爲不一致,請檢查它們是否都使用resourceResolver#map映射URL,如果Externalizer未包含這些URL。