私のアプリケーションでは、すべての freemarker テンプレートが /templates/ftl/ にあるため、アプリケーションのデプロイ中にクラスをロードします。FreemarkerManager を拡張し、メソッドを持つ 1 つのクラスを呼び出します。
Configuration configuration = super.createConfiguration(servletContext);
configuration.setDirectoryForTemplateLoading(new File("/templates/ftl/"));
このように、テンプレート ファイルをロードする必要がある場合は、次のように簡単に実行できます。
ServletContext servletContext = ServletActionContext.getServletContext();
Configuration configFreemarker = (Configuration) servletContext
.getAttribute("freemarker.Configuration");
Template template = configFreemarker.getTemplate("pathToMyTemplate");
たった 1 つの特定の状況で、(/templates/ftl/ ではなく) 完全に異なるパスからテンプレートを取得する必要があります。
この特定の瞬間に、古いパスを呼び出していた既存のコードをすべて壊すことなく、テンプレートをロードするための 2 番目のディレクトリを宣言するにはどうすればよいですか? テンプレートの読み込みに同時に 2 つの異なる開始点を設定できますか?
ありがとう