volocity加载模板&输出
Posted 小立攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了volocity加载模板&输出相关的知识,希望对你有一定的参考价值。
1、通过绝对路径加载vm模板//初始化模板引擎
VelocityEngine ve = new VelocityEngine();
ve.init();
//根据绝对路径获取模板
Template template = ve.getTemplate("d:/test.vm");
//velocity上下文context
VelocityContext context = new VelocityContext();
//设置变量
context.put("name", "test");
//输出流
StringWriter writer = new StringWriter();
//转换输出
template.merge(context, writer);
System.out.println(writer.toString());
2、加载包路径下的vm模板
//模板引擎
VelocityEngine ve = new VelocityEngine();
Properties props = new Properties();
props.setProperty("resource.loader", "class");
props.setProperty("class.resource.loader.class",
"org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
ve.init(props);
//获取包路径com.cd下的test1.vm模板
Template template = ve.getTemplate("com/cd/test1.vm");
//velocity上下文context
VelocityContext context = new VelocityContext();
//设置变量
context.put("name", "test");
//输出流
Writer out = new OutputStreamWriter(new FileOutputStream(
new File("d:/test.doc")),"UTF-8");
template.merge(context, out);
template.process();
3、加载动态字符串形式模板
//Velocity引擎
VelocityEngine ve = new VelocityEngine();
ve.init();
//模板
String content = "hello $name";
//velocity上下文context
VelocityContext context = new VelocityContext();
//设置变量
context.put("name", "world.");
// 输出流
StringWriter writer = new StringWriter();
// 转换输出
ve.evaluate(context, writer, "", content);
System.out.println(writer.toString());
以上是关于volocity加载模板&输出的主要内容,如果未能解决你的问题,请参考以下文章