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;
/**
* <b>Velocity demo</b> <br>
* (1) You need to download Velocity's jar from <a>http://velocity.apache.org/download.cgi</a><br>
* (2) This demo just show how to use Velocity base in local path.
*
* @author TianJun
* @Blog http://tianjun309.iteye.com
* @Email tj309@163.com
* @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;
}
}
分享到:
相关推荐
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
离线安装包,亲测可用
【Maven项目Struts2 Demo】是一个典型的Java Web应用程序示例,它利用了Apache Maven作为构建工具,Struts2作为MVC(Model-View-Controller)框架,以及JDK 1.7、Eclipse 4.5和Tomcat 6作为开发和运行环境。...
struts2-osgi-admin-bundle-2.5.10.jar,struts2-osgi-demo-bundle-2.5.10.jar,struts2-osgi-plugin-2.5.10.jar,struts2-oval-plugin-2.5.10.jar,struts2-pell-multipart-plugin-2.5.10.jar,struts2-plexus-plugin-...
电赛小车系统驱动程序及应用程序接口c源码.zip电赛小车系统驱动程序及应用程序接口c源码.zip电赛小车系统驱动程序及应用程序接口c源码.zip电赛小车系统...CarOS/demo:样例文件夹,存放了使用CarOS的直接可使用样例。
aopalliance-1.0.jar, asm-3.3.jar, asm-commons-3.3.jar, asm-tree-3.3.jar, classworlds-1.1.jar, commons-beanutils-1.9.2.jar, ...velocity-1.7.jar, xmlpull-1.1.3.1.jar, xpp3_min-1.1.4c.jar, xstream-1.4.8.jar