我想在我的XPages應用程序中使用Freemarker模板引擎,但無法在XPage環境中使用它。我遇到的問題與模板路徑有關,我不知道如何正確設置。 Freemarker簡單地假設模板位於文件系統的某個位置。我把我的模板文件放到相關的java類存在的目錄中。這樣的文件的路徑是這樣的這不適合我。有沒有人有這方面的經驗?我只需要File()構造函數接受的nsf的目錄路徑。這個虛擬的xspnsf://....
對於java File對象來說是不可理解的。在需要Freemarker幫助時使用XPages
這裏是Freemarker的模板路徑代碼:
Configuration cfg = new Configuration();
cfg.setDirectoryForTemplateLoading(new File("??????"));
Template temp = cfg.getTemplate("tmp.ftl");
Freemarker似乎使用Java中的普通File類。他們無法從URI加載文件。除非您可以將模板作爲流提供(您需要包含的解析器類),否則Freemaker不適合 – stwissel 2013-03-04 14:40:47
您是否對使用XPage的其他模板系統有過使用經驗? – 2013-03-04 14:56:52
@stwissel:請您在下次回答之前查看手冊或API文檔... FreeMarker可以從URI-s(請參閱URLTemplateLoader),從「classpath」(「 ClassTemplateLoader'),來自Webapp上下文('WebappTemplateLoader')。另外,通過實現'TemplateLoader'接口,您可以輕鬆地從任何其他資源加載。您只需創建您需要的'TemplateLoader'並將其傳遞給'Configuration.setTemplateLoader'。 FreeMarker並不認爲模板完全是純文件。 – ddekany 2013-03-04 21:21:41