如何使用SpringTemplateLoader而不是FiletemPlateLoader配置Freemarker

时间:2013-07-15 04:28:20

标签: java spring freemarker

我是春天的新手 我的问题是在春天用freemaker配置发送电子邮件。 我的旧系统可以发送电子邮件,因为它在发送邮件时加载模板时使用SpringTemplateLoader。我的新系统使用FileTemplateLoader(我试图发现这一点),因此无法找到用于发送邮件的wright模板电子邮件。我只是想问一下如何配置Freemarker来使用SpringTemplateLoader。请帮忙。谢谢。

1 个答案:

答案 0 :(得分:1)

我找到了答案。
当Freemarker与Spring框架一起使用时,freemaker会有一个配置对象是org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean,Spring有一个lib spring-context-support.jar来支持这个。
读取此列表的代码我发现属性preferFileSystemAccess,其默认值为true,只需将其设置为false即可使用SpringTemplateLoader。
让我举例说明我的配置:
<bean id="mailSender" class="com.aklero.idea.email.MailSender" init-method="initAllEmailSystems"/>     <bean id="mailTemplateBuilder" class="com.aklero.idea.email.MailTemplateBuilder" />
    <bean id="freemarkerConfig" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
       <property name="templateLoaderPath" value="classpath:com/aklero/idea/email/templates"/>
       <property name="preferFileSystemAccess" value="false"/>