1.模板为VM文件
- package template;
- import java.io.StringWriter;
- import org.apache.velocity.Template;
- import org.apache.velocity.VelocityContext;
- import org.apache.velocity.app.Velocity;
- import org.apache.velocity.app.VelocityEngine;
- public class VelocityUtil {
- public static String exportFixedVelocity() {
- // 创建引擎
- VelocityEngine ve = new VelocityEngine();
- // 设置模板加载路径,这里设置的是class下
- ve.setProperty(Velocity.RESOURCE_LOADER, "class");
- ve.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
- try {
- // 进行初始化操作
- ve.init();
- // 加载模板,设定模板编码
- Template t = ve.getTemplate("template/velocity_template.vm", "UTF-8");
- // 设置初始化数据
- VelocityContext context = new VelocityContext();
- context.put("name", "张三");
- String[] hobbyArray={"吃饭","喝水","洗澡"};
- context.put("hobby", "爱好");
- context.put("hobbyArray", hobbyArray);
- // 设置输出
- StringWriter writer = new StringWriter();
- // 将环境数据转化输出
- t.merge(context, writer);
- return writer.toString();
- } catch (Exception e) {
- throw new RuntimeException("模版转化错误!");
- }
- }
- public static void main(String[] args) {
- System.out.println(exportFixedVelocity());;
- }
- }
velocity_template.vm模版文件
- $name
- $hobby:
- #foreach($hobby in $hobbyArray)
- ${hobby}
- #end
2.模板为 字符串
import java.io.StringWriter;
import java.util.Date;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
public class HelloVelocity2 {
public static void main(String[] args) {
// 初始化并取得Velocity引擎
VelocityEngine ve = new VelocityEngine();
ve.init();
// 取得velocity的模版内容, 模板内容来自字符传
String content = "";
content += "Welcome $name to Javayou.com! ";
content += " today is $date.";
// 取得velocity的上下文context
VelocityContext context = new VelocityContext();
// 把数据填入上下文
context.put("name", "javaboy2012");
context.put("date", (new Date()).toString());
// 输出流
StringWriter writer = new StringWriter();
// 转换输出
ve.evaluate(context, writer, "", content); // 关键方法
System.out.println(writer.toString());
}
}