我有一个使用Spring/JSF的Web应用程序,它依赖于一个使用Freemarker模板的模块。下面是我的集成步骤:
我将applicationContext-freemarker-module.xml导入到applicationContext.xml中。 我在applicationContext-freemarker-module.xml中添加了配置bean,如下所示。
<bean id="freemarkerConfiguration" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
<property name="templateLoaderPath" value="classpath*:/"/>
</bean>
我把我的模板放到了freemarker模块的src/main/resources目录下。 我通过以下方式读取模板:
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext-freemarker-module.xml");
Configuration templateConfig = (Configuration) context.getBean("freemarkerConfiguration");
Template template = templateConfig.getTemplate("template.ftl");
现在我已经尝试了很多templateLoaderPath属性的值,但我总是得到“Template not found.”异常。
Freemarker模块的JAR文件如下:
template.ftl
applicationContext-freemarker-module.xml
com/.../ (classes)
META-INF
我应该把模板文件放在哪里,templateLoaderPath值应该设置为什么? 我不明白为什么找不到"template.ftl"。我已经尝试了很多小时来设置正确的值,包括各种路径配置,但都没有成功。
非常感谢您的帮助。
<property name="templateLoaderPath" value="classpath:/"/>
吗?如果 .ftl 文件在 jar 包的根目录下,这应该可以工作... - javanna