Velocity 1.7 demo

package com.test;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Properties;

import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;

/**
 * Velocity demo 
* (1) You need to download Velocity's jar from http://velocity.apache.org/download.cgi
* (2) This demo just show how to use Velocity base in local path. * * @author TianJun * @Blog http://tianjun309.iteye.com * @Email [email protected] * @version 1.0 Aug 14, 2011 */ public class Test { public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException { //(1) init VelocityEngine Properties p = new Properties(); p.setProperty("file.resource.loader.path", Test.getAbsoluteProjectPath() + "/WebRoot/file/"); VelocityEngine ve = new VelocityEngine(); ve.init(p); //(2) set Volocitycontext value VelocityContext context = new VelocityContext(); context.put("value1", "test_value1"); context.put("value2", "test_value2"); PrintWriter writer = new PrintWriter(Test.getAbsoluteProjectPath() + "/WebRoot/file/document2.xml", "utf-8"); //(3) get Template file Template t = ve.getTemplate("document.xml"); //(4) merge context with writer t.merge(context, writer); writer.flush(); writer.close(); } /** * project local path * * @return project local path */ public static String getAbsoluteProjectPath() { String path = null; try { File file = new File(Thread.currentThread().getContextClassLoader().getResource("").getPath()); path = URLDecoder.decode(file.getAbsolutePath(), "utf-8") .replace("WebRoot\\WEB-INF\\classes", "") .replace("\\", "/"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return path; } }
 

你可能感兴趣的:(Velocity1.7,struts2.0)