NVelocity学习笔记

原创 2015年07月07日 15:22:16

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();
            }
        }

    }
}


不拖控件ASP.NET——NVelocity(1)

模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。今天我们主要来介绍NVeloci...
  • u010955843
  • u010955843
  • 2015年01月08日 20:12
  • 2456

每个人应该知道的NVelocity用法

NVelocity是一个基于.NET的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由.NET代码定义的对象。从而使得界面设...
  • jiangfei009003
  • jiangfei009003
  • 2016年10月11日 22:55
  • 522

抛弃NVelocity,来玩玩Razor

对于内容型,不易变动的东西我们都希望给它来个静态化,还有种情况就是比如新浪云不支持.net,为了能跑起我们的网站, 只能放些静态页面上面,外加jsonp来实现交互,我们知道.net中有很多模板引擎,...
  • huangxinchen520
  • huangxinchen520
  • 2017年03月22日 17:08
  • 202

NVelocity标签使用详解

使用步骤。   a) 创建Velocity 引擎(VelocityEngine)并设置属性.   b) VelocityContext 上下文对象创建于设置.   c) 使用VelocityEngin...
  • yanzhibo
  • yanzhibo
  • 2014年02月15日 22:33
  • 1251

模板引擎-NVelocity

Web开发的模板引擎是为了使界面、逻辑、数据分离,用它可以进行逻辑处理、数据填充,最终生成一个标准的HTML文档,然后以字符串形式返回给浏览器进行解析。模板引擎有很多种,这里介绍感觉使用很方便的NVe...
  • wang379275614
  • wang379275614
  • 2014年01月16日 22:01
  • 3920

Nvelocity模板引擎实现人员的增删改查(一)查询

人员查询: 1.       新建项目CRUDTest 2.       Nvelocity添加引用 3.       CommonHelper.cs方法对html模板的渲染 4.      ...
  • ndj8550677172
  • ndj8550677172
  • 2014年05月03日 10:45
  • 776

1.C#开发winform 开发调运检疫离线制证功能。调用cLodop打印控件(NVelocity模块,生成HTML(包含cLodop打印控件的js),使用WebBrowser,展现网页)总结

print.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; us...
  • MJZ_CSDN
  • MJZ_CSDN
  • 2016年11月22日 11:59
  • 1271

NVelocity C#模板引擎

NVelocity是一个基于.NET的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由.NET代码定义的对象。从而使得界面设...
  • wujiaolong1
  • wujiaolong1
  • 2013年11月22日 08:56
  • 2038

asp.net模板引擎:二、NVelocity标签语详解

NVelocity标签语详解,以及NVelocity调用说明 1. 变量   (1) 变量的定义:   1 2 3 4 5 6...
  • qq752923276
  • qq752923276
  • 2014年09月23日 12:23
  • 1633

Nvelocity使用方法

context.Response.ContentType = "text/html"; string userName = context.Request["userName"...
  • u012280200
  • u012280200
  • 2014年10月06日 01:23
  • 279
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NVelocity学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)