1

我是春天的新手。
我的问题是关于在春季使用 freemaker 配置发送电子邮件。我的旧系统可以发送电子邮件,因为它在发送邮件时加载模板时使用 SpringTemplateLoader。我的新系统使用 FileTemplateLoader(我调试后发现),所以它找不到用于发送邮件的 wright 模板电子邮件。我只想问如何配置 Freemarker 以使用 SpringTemplateLoader。请帮忙。谢谢你。

4

1 回答 1

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"/>

于 2013-07-15T16:44:47.303 回答