テンプレートをさまざまなパスからベロシティで取得できるかどうかは誰にもわかりませんか? 初期化後、Velocity は「file.resource.loader.path」の変更を拒否します。
これは私のコードです:
public Generator(){
Properties p = new Properties();
p.setProperty("resource.loader", "file");
p.setProperty("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.FileResourceLoader");
p.setProperty("file.resource.loader.path", "");
Velocity.init(p);
}
テンプレートはさまざまな場所に配置できます (ユーザーはファイル ダイアログで選択できます)。したがって、速度からテンプレートを取得すると、このコードがあります
private Template fetch (String templatePath) {
out_println("Initializing Velocity core...");
int end = templatePath.lastIndexOf(File.separator);
Properties p = new Properties();
p.setProperty("file.resource.loader.path", templatePath.substring(0, end));
Velocity.init(p);
return Velocity.getTemplate(templatePath.substring(end+1));
}
これは機能していません。Velocity が初期化されると、別のプロパティでリセットできないようです。この問題を解決する方法について何か提案はありますか?
考えられるプログラムの流れ:
- ユーザーは、テンプレートに入力する必要があるグループを選択します
- ユーザーは使用するテンプレートを選択します (hdd のどこにでも配置できます)
- ユーザープレス生成