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

标签 java spring freemarker

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

最佳答案

我找到了答案。
当使用 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"/>

关于java - 如何使用 SpringTemplateLoader 而不是 FiletemPlateLoader 配置 Freemarker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17646773/

相关文章:

java - 如何不使用GET方法从href传递参数?

spring - 如何让 Maven 打印出失败的测试名称?

java - 如何模拟 Springockito 模拟的行为?

javascript - 如何在slickgrid中动态添加列?

java - 具有模板引擎速度的延迟加载

java - FreeMarker 可以将目录内容写入模板吗?

Java BPM 套件 - 与 .Net 的互操作性

java - 覆盖 log4j 配置中子类别的级别

java - Cfscript 和动态值

java - 当写入操作多于读取操作时,获取并发哈希集的最佳方法是什么?