NVelocity学习笔记
2015-07-07 15:22
288 查看
1、创建一般处理程序 ashx 文件
context.Response.ContentType = "text/html";
修改上下文类型为 html
2、创建一个全局类
using NVelocity;
using NVelocity.App;
using NVelocity.Context;
using NVelocity.Runtime;
//以上引入 Nvelocity
namespace Demo.Web
{
public class Common : System.Web.UI.Page
{
/// <summary>
/// 创建HTML文件
/// </summary>
/// <param name="TempFrom">模板文件路径</param>
/// <param name="PhysicalPath">要生成的 html 保存位置</param>
/// <param name="TempName">生成的模板名称</param>
/// <param name="data">传给 NVelocity 的数据 DataRow</param>
public static void CreateHTML(string TempFrom,string PhysicalPath,string TempName,object data)
{
//创建NVelocity引擎的实例对象
VelocityEngine velocity = new VelocityEngine();
//初始化该实例对象
ExtendedProperties props = new ExtendedProperties();
props.AddProperty(RuntimeConstants.RESOURCE_LOADER, "file");
props.AddProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, Path.GetDirectoryName(PhysicalPath));
props.AddProperty(RuntimeConstants.INPUT_ENCODING, "gb2312");
props.AddProperty(RuntimeConstants.OUTPUT_ENCODING, "gb2312");
velocity.Init(props);
//从文件中读取模板
Template temp = velocity.GetTemplate(TempFrom);
IContext context = new VelocityContext();
context.Put("Data", data);
//合并模板
StringWriter writer = new StringWriter();
//velocity.MergeTemplate(context, writer);
temp.Merge(context, writer);
//生成静态页
using (StreamWriter writer2 = new StreamWriter(PhysicalPath + TempName, false, Encoding.UTF8, 200))
{
writer2.Write(writer);
writer2.Flush();
writer2.Close();
}
}
}
}
context.Response.ContentType = "text/html";
修改上下文类型为 html
2、创建一个全局类
using NVelocity;
using NVelocity.App;
using NVelocity.Context;
using NVelocity.Runtime;
//以上引入 Nvelocity
namespace Demo.Web
{
public class Common : System.Web.UI.Page
{
/// <summary>
/// 创建HTML文件
/// </summary>
/// <param name="TempFrom">模板文件路径</param>
/// <param name="PhysicalPath">要生成的 html 保存位置</param>
/// <param name="TempName">生成的模板名称</param>
/// <param name="data">传给 NVelocity 的数据 DataRow</param>
public static void CreateHTML(string TempFrom,string PhysicalPath,string TempName,object data)
{
//创建NVelocity引擎的实例对象
VelocityEngine velocity = new VelocityEngine();
//初始化该实例对象
ExtendedProperties props = new ExtendedProperties();
props.AddProperty(RuntimeConstants.RESOURCE_LOADER, "file");
props.AddProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, Path.GetDirectoryName(PhysicalPath));
props.AddProperty(RuntimeConstants.INPUT_ENCODING, "gb2312");
props.AddProperty(RuntimeConstants.OUTPUT_ENCODING, "gb2312");
velocity.Init(props);
//从文件中读取模板
Template temp = velocity.GetTemplate(TempFrom);
IContext context = new VelocityContext();
context.Put("Data", data);
//合并模板
StringWriter writer = new StringWriter();
//velocity.MergeTemplate(context, writer);
temp.Merge(context, writer);
//生成静态页
using (StreamWriter writer2 = new StreamWriter(PhysicalPath + TempName, false, Encoding.UTF8, 200))
{
writer2.Write(writer);
writer2.Flush();
writer2.Close();
}
}
}
}
相关文章推荐
- 创建directory并执行expdp/impdp/create user
- ok6410 uboot nandflash移植
- 【Java】编写一个方法,将字符串中的空格全部替换为“ ”
- flex 跨域访问 #2048: 安全沙箱冲突 问题解决方法
- C语言学习笔记:19_数组-字符数组与字符串(常用字符串函数)
- MySQL详解-------数据库备份和还原
- tomcat 与 WebLogic 的区别
- 开发者关心的那些事
- STL(标准模板库)理论基础,容器,迭代器,算法
- STL(标准模板库)理论基础,容器,迭代器,算法
- linux系统中ffmpeg安装配置步骤
- The import javax.servlet cannot be resolved
- CentOS6.5安装VMwareTools
- Dubbo管理员指南
- 总结群里讨论的关于浮点数,如何四舍五入保留两位小数的处理方式
- Null Pointer --设计模式
- 【FaceBook】程序猿提高工作效率的15点技巧
- leetcode 203:Remove Linked List Elements
- Big Event in HDU
- 如何做一个快速运转的大规模网络开发公司