我正在嘗試使用簡單的< #include「anotherFile.ftl」/>在正在使用Javascript API的方法proccessTemplate(http://wiki.alfresco.com/wiki/4.0_JavaScript_API#Transformation_API)針對特定節點處理的freemarker模板中。node.processTemplate ftl可以使用include命令嗎?
它似乎不喜歡包括?!
錯誤消息是如下
包裝的異常(具有狀態模板):04305890未能執行 腳本 「類路徑*:露天/擴展/模板/ webscripts/mypath中/ myWebscript.get.js ': 04305889處理模板時出錯'包含文件字符串://fooy/foo.ftl'的錯誤讀取 '。請聯繫您的系統管理員 。
正在處理的模板和將被包含的潛在模板將被存儲在Alfresco倉庫之外,但現在它已經存在了。 Web腳本也將在存儲庫之外並位於Java類路徑中。
我試圖包括ftl,即使它在同一個目錄內,並且這不起作用。我試圖得到一個node.nodeRef(成功),但實際的包括不起作用,雖然這意味着將ftl存儲在我們不會做任何事情的存儲庫中。
我曾嘗試包括實際webscripts的FTL freemarker的本身,而是課程之前它被傳遞到webscript Freemarker模板的node.processTemplate發生在JavaScript控制器的
我甚至嘗試硬編碼的內容包含並將其傳遞到args關聯數組中,並如預期的那樣無效。
進一步的調查表明,這是一個錯誤 https://issues.alfresco.com/jira/browse/ALFCOM-3364
任何其他的建議表示歡迎,如果有人已經克服這一點。
感謝
有什麼錯誤信息的路徑?無論如何,我不知道Alfresco,只有FreeMarker。 FreeMarker有一個名爲'templateLoader'的配置設置,它是一個實現'freemarker.cache.TemplateLoader'並解析絕對路徑的對象(比如,如果你在'/ foo/bar.ftl'中,那麼它會得到'/ foo/anotherFile.ftl')。所以問題是如果Alfresco使用什麼實現。研究一下你可能會明白什麼是可用的,以及什麼路徑。 – ddekany
你的場景是什麼,當這個模板被處理時,我仍然感到困惑。這是在一封電子郵件嗎? Explorer模板? –
@ddekany - 我已經添加了一個錯誤的實例,我被指出這是一個已知的問題。 – Chris