1
私は以下の設定が有効です。今、クライアントはこれらのメールテンプレートをカスタマイズしたいと考えています。いくつかの顧客にwarファイルを配信しようとするので、これらのテンプレートで行われた変更を無効にしたくないからです。ですから、私たちは、webappの内部にないTomcat Rootの下にmailTemplateフォルダを置く必要があるかもしれないと考えています。 templateLoaderPathsの値を次のように変更しようとしました: value="../mailTemplate"
、 しかし、それは機能しました。 助けてください。ありがとう。Spring Freemarker設定、テンプレートパス
<bean id="freeMarkerConfigurer"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPaths"
value="/WEB-INF/mailTemplate/" />
<property name="freemarkerSettings">
<props>
<prop key="template_update_delay">1800</prop>
<prop key="default_encoding">UTF-8</prop>
</props>
</property>
</bean>
のように、URL /プログラムファイルを/ Apache Software Foundation/Tomcat 6.0/mailTemplate/"/>'、それは動作します。しかし、私はクライアントにTomcatをインストールする場所を強制することはできないので、相対パスの使い方は?私のwebappはここに ''です。ありがとう –
Alex
はい、興味深い質問。相対パスを試したことはありません。どのように解釈されるのではなく、つまり他のディレクトリとの相対的な相対パスで試したことはありませんか? Tomcatプロセスの作業ディレクトリ。 – Jan
おそらくあまりにもうまくいくのは、value = "$ {templateRootDir}"のようなパスにプロパティプレースホルダを使用し、その名前のJavaシステムプロパティをTomcatに設定することです。顧客は、それらのテンプレートをどこにでも置くことができ、Tomcatスタートアップスクリプトでこのプロパティを設定することで、どこにアプリケーションがあるのかを伝えることができます。 – Jan