- <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:来定位模板位置。
补一段代码: