jir*_*iya 5 configuration spring templates freemarker
我有一个Spring/JSF Web应用程序,它依赖于模块使用Freemarker模板.这是我为整合做的事情:
我将applicationContext-freemarker-module.xml导入applicationContext.xml我将配置bean添加到applicationContext-freemarker-module.xml,如下所示.
<bean id="freemarkerConfiguration" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
<property name="templateLoaderPath" value="classpath*:/"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
我把模板放到freemarker模块的src/main/resources目录下.我正在阅读如下模板:
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext-freemarker-module.xml");
Configuration templateConfig = (Configuration) context.getBean("freemarkerConfiguration");
Template template = templateConfig.getTemplate("template.ftl");
Run Code Online (Sandbox Code Playgroud)
现在我为templateLoaderPath属性尝试了很多值,但我总是得到"找不到模板".例外.
Freemarker模块的JAR如下所示
template.ftl
applicationContext-freemarker-module.xml
com/.../ (classes)
META-INF
Run Code Online (Sandbox Code Playgroud)
我应该在哪里放模板文件,我应该为templateLoaderPath值设置什么?我无法理解为什么找不到"template.ftl".我试图设置正确的值数小时.我尝试了各种路径配置但没有成功.
非常感谢你的帮助,
小智 11
确保您拥有以下内容
在你的*-action servlet中,xml FreeMarkerConfigurationFactoryBean配置将"preferFileSystemAccess"属性设置为"false"
<property name="templateLoaderPath" value="classpath*:/"/> should be
<property name="templateLoaderPath" value="classpath:/"/>
在freemarker中,模板加载器尝试匹配字符串"classpath:",而不是"classpath*:"
你有WEB-INF/lib文件夹下的JAR文件.
最后,您的模板文件位于jar文件的根目录下.
| 归档时间: |
|
| 查看次数: |
12206 次 |
| 最近记录: |