<beans> <bean id="freeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPath" value="/WEB-INF/config/template/" /> <property name="freemarkerSettings"> <props> <prop key="template_update_delay">0</prop> <prop key="default_encoding">GBK</prop> <prop key="locale">zh_CN</prop> </props> </property> </bean> <bean id="freeMarkerConfiguration" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean"> <property name="templateLoaderPath" value="file:D:/Java/workspace/project/WebContent/WEB_INF/config/template" /> </bean> <bean id="templateService" class="com.ahtec.ssi.service.impl.TemplateServiceFreeMarkerImpl"> <property name="freeMarkerConfigurer" ref="freeMarkerConfigurer" /> <property name="freeMarkerConfiguration" ref="freeMarkerConfiguration" /> </bean> </beans>
//WEB Template t = freeMarkerConfigurer.getConfiguration().getTemplate(templateName); return FreeMarkerTemplateUtils.processTemplateIntoString(t, model); //NONE WEB Template t = freeMarkerConfiguration.getTemplate(templateName); return FreeMarkerTemplateUtils.processTemplateIntoString(t, model);
在 web 中,可以方便地定位到WEB_INF目录,但在非web中就不那么容易了。综合考虑,将ftl模板放在classpath目录挺好的。用classpath:来定位模板位置。
补一段代码:
Freemarker多路径配置方法:
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"> <property name="templateLoaderPaths"> <list> <value>/Freemarker/</value> <value>/Freemarker/error/</value> </list> </property> </bean>
本文介绍了两种Freemarker模板配置方法,一种适用于Web环境,通过配置文件路径加载模板;另一种适用于非Web环境,使用classpath定位模板。此外还提供了一种多路径配置方法,确保模板可以在不同目录下被正确加载。
4771

被折叠的 条评论
为什么被折叠?



