spring整合velocity和freemaker
maven 部分pom文件
<!-- velocity jar-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
<!-- freemakerjar-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.20</version>
</dependency>
velocity 使用
1.bean xml配置
<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
<property name="VelocityProperties">
<value>
resource.loader=class
class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
</value>
</property>
</bean>
2.把bean注入需要使用的地方,如
String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "v.vm","utf-8", m);
"v.vm" :模板放在classpath目录
m:map数据模型
freemarker使用
1.bean xml配置
<bean id="freeMarkerConfigurer" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
property name="templateLoaderPath" value="classpath:mailtemplates"/><!--指定模板文件目录-->
<property name="freemarkerSettings"><!-- 设置FreeMarker环境属性-->
<props>
<prop key="template_update_delay">1800</prop><!--刷新模板的周期,单位为秒-->
<prop key="default_encoding">UTF-8</prop><!--模板的编码格式 -->
<prop key="locale">zh_CN</prop><!-- 本地化设置-->
</props>
</property>
</bean>
2.把bean注入需要使用的地方,如
Template tpl=freeMarkerConfigurer.getConfiguration().getTemplate(templateName); htmlText=FreeMarkerTemplateUtils.processTemplateIntoString(tpl,root);