using System;
using System.Collections.Generic;
using
System.Linq;
using System.Text;
using System.Web;
using System.IO;
using NVelocity.App;
using
NVelocity;
using NVelocity.Runtime;
namespace Common
{
public class NVelocityHelper
{
private VelocityEngine velocityEngine = null;
private VelocityContext
vc = null;
public NVelocityHelper(string templatePath, string key,
object value)
{
//1.创建Velocity 引擎(VelocityEngine)并设置属性
velocityEngine = new
VelocityEngine();
velocityEngine.AddProperty(RuntimeConstants.RESOURCE_LOADER, "file");
//
Velocity加载类型
velocityEngine.AddProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH,
// Velocity加载文件路径
HttpContext.Current.Server.MapPath("~/" +
templatePath + "/"));
velocityEngine.AddProperty(RuntimeConstants.INPUT_ENCODING, "utf-8");
// 输入编码格式设置
velocityEngine.AddProperty(RuntimeConstants.OUTPUT_ENCODING,
"utf-8"); // 输出编码格式设置
velocityEngine.Init();
//2.Velocity 上下文对象设置
vc = new VelocityContext();
vc.Put(key,
value);
}
public NVelocityHelper(string key, object value)
{
//1.创建Velocity 引擎(VelocityEngine)并设置属性
velocityEngine = new
VelocityEngine();
velocityEngine.AddProperty(RuntimeConstants.RESOURCE_LOADER, "file");
//
Velocity加载类型
velocityEngine.AddProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH,
//
Velocity加载文件路径
HttpContext.Current.Server.MapPath("~/Templates/"));
velocityEngine.AddProperty(RuntimeConstants.INPUT_ENCODING, "utf-8");
// 输入编码格式设置
velocityEngine.AddProperty(RuntimeConstants.OUTPUT_ENCODING,
"utf-8"); // 输出编码格式设置
velocityEngine.Init();
//2.Velocity 上下文对象设置
vc = new VelocityContext();
vc.Put(key,
value);
}
public void Render(string templatFileName)
{
//3.创建模板
Template template =
velocityEngine.GetTemplate(templatFileName);
//4.合并模板和上下文对象、输出
StringWriter writer = new
StringWriter();
template.Merge(vc, writer);
HttpContext.Current.Response.Write(writer.ToString());
HttpContext.Current.Response.End();
}
}
}
NVelocity 类操作模板,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/lierjie/p/3748045.html