我正在使用freemarker模板。 我landup具有波紋管的問題:使用cfg.getTemplate讀取Freemarker模板(路徑)
我保持一個文件[test.ftl]中的路徑"home/freemarker/test.ftl"
貝婁是我用來讀取模板
Code :
public Template read_template()
{
String template="home/freemarker/test.ftl";//local path
Configuration cfg = new Configuration();
cfg.setIncompatibleImprovements(new Version(2, 3, 20));
cfg.setDefaultEncoding("UTF-8");
cfg.setLocale(Locale.US);
Template template = cfg.getTemplate(template);
return template;
}
這workd完美代碼當我從void main調用它()
現在的問題是,當我在運行服務器時讀取它。
Template template = cfg.getTemplate(template); 此行引發文件未找到異常。
注:
String folder_path = RuntimeProperties.get("freemarker.TemplateDirectory");//for server
這 我測試使用 只是一個普通的文本文件閱讀器的Java的功能從服務器
這是achivable,所以我確認讀取相同的文件test.ftl
具有相同的路徑沒有路徑問題。 並且該文件位於相應的路徑中。
錯誤Filenot發現異常
cfg.getTemplate(FOLDER_PATH + 「test.ftl」); //只有這個
您使用的是相對路徑。這可能會導致服務器混淆。你有沒有考慮過使用像「/home/freemarker/test.ftl」這樣的絕對路徑來確定路徑是否正確? –
我已經清楚地指出「沒有路徑問題」,因爲我可以使用相同的路徑來讀取其他成功的文件。 – Coder
有一個路徑問題。 – Oleg