velocity的应用

import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.Velocity;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.exception.ParseErrorException;
import org.apache.velocity.exception.ResourceNotFoundException;
public class Test {
	public void getSql(Map<String,Object> map,String fileName) {
		try {
			Velocity.init();
	        //获取上下文
	        VelocityContext context = new VelocityContext();
	        
	        Template template = null;
	        try {
	        	//获取模板引擎
		        VelocityEngine ve = new VelocityEngine();
		        
		        //模板文件所在的路径
		        String path = "";
		        //path = "tomcatPath" + "/webapps/xxx/WEB-INF/classes/xxx/vm";
		        path = "F:/";
		        //设置参数
		        ve.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH,path);
				//初始化模板
	            ve.init();
	            //获取模板
	            template = ve.getTemplate(fileName);   
	            
	            //把数据填入上下文
	            if(null !=map){
	            	Set<String> set = map.keySet();
	            	for(String label : set){
	            		context.put(label,map.get(label));       
	            	}
	            }
	            
			} catch (ResourceNotFoundException e2) {
				System.out.println("cannot find template " + fileName);
			} catch (ParseErrorException e) {
				System.out.println("Syntax error in template : " + e);
			}
			BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
					System.out));
			if (template != null)
				template.merge(context, writer);
			writer.flush();
			writer.close();
		} catch (Exception e) {
			System.out.println(e);
		}
	}
	public static void main(String[] args) {
		String fileName = "select.vm";
		Map<String,Object> map = new HashMap<String, Object>();
		map.put("from", 1);
		map.put("to", 3);
		new Test().getSql(map,fileName);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值