2014-03-13 81 views

回答

4

您正在混淆Apache Sling中的一些概念。

在吊你有兩個重要的目錄/應用/內容。在/ apps中,您應該將所有的JSP放在/ content中,如名稱所示,您只能放入內容。內容是資源及其屬性。

節點in/content有一個屬性sling:resourceType。當請求來自/ content的節點時,Sling會查找該節點的resourceType,並在/ apps下的匹配目錄中調用JSP(如果未找到/ lib,則調用/ libs)。所以,你必須把你的JSP放在/apps/yourapp/foo/bar/bar.jsp(或者如果你想要顯式地指定一個名爲'bar.html.jsp'的文件')。

然後用道具sling:resourceType="yourapp/foo/bar"創建節點/內容/頁面。當請求/content/page.html時,bar.jsp將被調用。

Sling選擇選擇哪個JSP在每個請求中調用的過程起初有點複雜,但它遵循有關JSP名稱的簡單約定。檢查他們有關URL to script resolution的文檔。

查看Discover Sling in 15 minutes tutorial及其他文檔。他們很簡單。

+2

請注意,/ apps和/內容沒有以任何方式修復,但默認情況下,Sling會在/ apps和/ libs下查找呈現腳本。在/ apps下的節點上設置sling:resourceType屬性也是可行的(但我們不要混淆事物;-)這裏的關鍵概念是,與其他Web框架相反,Sling不提供腳本,它提供呈現的內容資源通過腳本或servlet。 –

相關問題