2015-11-02 41 views
3

我創建了一個新頁面Aikau,但我更改了XML文件,並且標準共享頁眉和頁腳之間呈現的頁面內容消失了。恢復混合頁面Alfresco分享

在這個頁面,我想查詢字符串的參數,所以我寫這樣的代碼:

page.get.desc.xml:

<webscript> 
    <shortname>My New Page</shortname> 
    <url>/hdp/ws/my-new-page</url> 
    <authentication>user</authentication> 
</webscript> 

頁。 get.js:

function main() 
{ 
    // Get the args 
    var fileProp = args["test"]; 

    model.temp = fileProp; 
} 

main(); 

page.get.html.ftl:

Test arg: ${temp} 

我必須把/hdp/ws/my-new-page在XML文件中寫FTL文件的該頁面中的內容......但是爲什麼頁眉和頁腳Alfresco模板消失了? hdp服務於此目的。如果我不在XML上放置這樣的URL,頁面將隨模板一起顯示。

我的代碼有什麼問題?或者我該如何恢復模板?或者添加頁眉和頁腳?

編輯:我已經嘗試只把/我的新頁面沒有/ hdp/ws /但是當我把/ hdp/ws /時args是空的。給我一個提示。

EDIT2:我已經嘗試導入alfresco-template.ftl但我不能。任何想法?

回答

1

你需要在javascript服務器上強制執行你在javascript服務器上的東西嗎?如果沒有,你可以創建一個接收相同參數的javascript客戶端(location.search爲你提供查詢字符串,因此,你可以解析該查詢字符串,並只取得你想要的「測試」的值)並且調用它們在FTL文件(客戶端JavaScript)上。所以,當頁面加載時,它不會失去參數。這不是最好的解決方案,但你可以試試這個...

+0

哦!它的工作:)相同的代碼,但在客戶端...現在,我可以「生活」的解決方案;)非常感謝你! :) – PRVS

3

你實際上不需要在你的WebScript描述符中包含「hdp/ws」部分。只需要「/我的新頁面」。 Aikau試圖通過提供一些開箱即用的頁面來簡化Surf頁面的創建(而「hdp」頁面就是其中之一)。

Aikau使用URI模板映射到單一WebScript匹配的頁面,因此,例如在URL:

/股/頁/ HDP/WS /我的新頁

份額=應用程序上下文 頁= Spring MVC的請求調度

HDP/WS /我的新頁,然後映射到URI模板:

<uri-template id="share-page">/{pageid}/ws/{webscript}</uri-template> 

其中 「HDP」 是個要呈現的頁面的ID和「我的新頁面」是WebScript URL。 HDP頁面使用模板中的「webscript」令牌自動創建一個新的Surf組件並將其綁定到WebScript。

但總而言之 - 不要在您的Aikau頁面的WebScript URL中包含「hdp/ws」。