私はfreemarkerテンプレートを使用しています。 私は怒鳴る問題を持つlandup:Freemarker cfg.getTemplate(パス)を使用したテンプレートの読み取り
私はパスで[test.ftl] "home/freemarker/test.ftl"
ベローiはテンプレート
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()から呼び出すと、
ここで問題は、サーバを走らせている間にそれを読むときです。
テンプレートテンプレート= cfg.getTemplate(template); この行は、ファイルが見つかりませんでした例外をスローします。
注:私は
サーバー
からのJavaの 普通のテキストファイルリーダー機能を使用してこれは私が確認achivableた同じパスで同じファイルtest.ftl
を読んテスト
String folder_path = RuntimeProperties.get("freemarker.TemplateDirectory");//for server
パスの問題はありません。 ファイルはそれぞれのパスで使用できます。
エラーFilenotは例外
cfg.getTemplate(folder_path + "test.ftl")を見つけ; //これだけ
あなたは相対を使用していますパス。これにより、サーバーに混乱が生じる可能性があります。 "/home/freemarker/test.ftl"のような絶対パスを使ってパスが正しいことを本当に確かめることを考えましたか? –
私は明確に "パスの問題はありません"と言いました。私は同じパスを使用して、他のファイルを読み込むことができます。 – Coder
パスの問題があります。 – Oleg