spring下配置一个新的velocity engine

来源:互联网 发布:如何防止网络渗透策反 编辑:程序博客网 时间:2024/05/22 05:14

applicatioin-context.xml

<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean"><property name="velocityProperties"><props><prop key="resource.loader">file</prop><prop key="file.resource.loader.path">.</prop><prop key="file.resource.loader.class">org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader</prop><prop key="input.encoding">UTF-8</prop><prop key="output.encoding">UTF-8</prop></props></property></bean>

invite_email.vm

<br>$name<br>$content<br><img src="$img"/>

Test

@Testpublic void testMergeTemplateIntoString() {Map<String, String> map = new HashMap<String, String>();map.put("name", "张三");map.put("content", "This is content!!!");map.put("img", "http://www.iknowing.com/photos/1/1/1.jpg");String vm = "invite_email.vm";String html = templateService.mergeTemplateIntoString(vm, map);System.out.println(html);}

TemplateService

private static String tplFolder = "templates/";@Autowiredprivate VelocityEngine velocityEngine;@Overridepublic String mergeTemplateIntoString(String vm, Map<String, String> map) {String tpl = tplFolder + vm;return VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, tpl, map);}